水豚增加最大允许页面加载时间

Capybara increase max allowed page load time

我有一个页面有时加载时间超过一分钟。假设这是预期的行为并且不会改变。在这些情况下,我得到 Net::ReadTimeout.

请注意,这是在通过单击上一页上的按钮导航到某个页面之后发生的,而不是 ajax 请求。因此 Capybara.using_wait_time 没有帮助。

我尝试了一些激进的方法(其中一些我知道行不通),例如:

None 似乎有效。这应该是非常微不足道的,但我仍然找不到方法。

如果您知道与 webdriver 无关的解决方案,那就太好了。如果不是-我正在使用 selenium.

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 驱动程序进行测试,加载页面需要一分钟多的时间