Как проинструктировать phantomjs, чтобы избежать таймаута при использовании binding.pry

в какой-то момент, я не знаю, ребята ли вы это называете разработкой REPL или чем-то, но я обнаруживаю, что проверяю содержимое своей среды выполнения, вставляя вызов binding.pry в некоторый тест. Это работает очень хорошо, за исключением случаев, когда я запускаю тесты Cucumber, потому что я выбрал poltergeist как мой драйвер capybara, который использует phantomjs. Я могу запустить REPL, но через некоторое время, когда он был убит, и я получаю ошибку тайм-аута от phantomjs, я задаюсь вопросом, есть ли способ исправить это, даже если он включает в себя переход на pry-remote или подобное. Вероятно, это было задано раньше, но я просто не мог найти ответа. Улики?

Ответ 1

Я поместил это в свой spec_helper, чтобы установить таймаут

Capybara.register_driver :poltergeist do |app|
  Capybara::Poltergeist::Driver.new(app, {timeout: 600, js_errors: false} )
end

Ответ 2

Внутри pry вы должны уметь:

page.driver.timeout = 10000

или

Capybara.current_session.driver.timeout = 10000

Это должно пройти весь путь до кода обработки сокета, и я думаю, что он выполнит эту работу, хотя я не пробовал...