ndn*_*kov 6 ruby page-load-time capybara net-http selenium-webdriver
我有一个页面,有时加载超过一分钟.假设这是预期的行为并且不会改变.在这些情况下,我明白了Net::ReadTimeout.
请注意,这是在通过单击上一页上的按钮而不是ajax请求导航到页面之后.因此Capybara.using_wait_time没有帮助.
我尝试了一些激进的东西(其中一些我知道不会起作用),如:
page.driver.browser.manage.timeouts's implicit_wait,script_timeout和page_load.Selenium::WebDriver::Remote::Http::Default的timeout值.Net::HTTP的read_timeout.page.driver.browser.send(:bridge).http.instance_variable_get(:@http).read_timeout=似乎没有工作.这应该是非常微不足道的,但我找不到办法.
如果你知道一个很棒的webdriver不可知解决方案.如果没有 - 我正在使用硒.
Tho*_*ole 11
Selenium有很多不同的超时设置,其中一些可以在运行时更改,另一些必须在初始化驱动程序时设置.您最有可能遇到Http :: Default超时,默认为60秒.您可以通过将您自己的实例作为http_client传递给Selenium驱动程序来覆盖它
Capybara.register_driver :slow_selenium do |app|
  client = Selenium::WebDriver::Remote::Http::Default.new
  client.timeout = 120
  Capybara::Selenium::Driver.new(app, http_client: client)
end
然后使用:slow_selenium驱动程序进行测试,这将花费一分多钟来加载页面
| 归档时间: | 
 | 
| 查看次数: | 3537 次 | 
| 最近记录: |