Net :: ReadTimeout(Net :: ReadTimeout)Selenium Ruby

我在Selenium中看到了一些与超时错误相关的post。 这变得越来越难以忍受,因为它使我的测试包无法使用。 我正在测试目前正在开发的网页。

我有一个大约300个测试场景的回归套件,它一直有效,直到firefox和selenium webdriver的最新更新。 现在几乎所有其他测试我得到:

Net::ReadTimeout (Net::ReadTimeout)错误。

这不可能是巧合。 有谁知道什么可能导致突然的超时问题? 我试过回到以前版本的webdriver和firefox。

使用RSpec :: Retry的另一个选项是为间歇性失败的规范添加重试选项。

 require 'rspec/retry' RSpec.configure do |config| # show retry status in spec process config.verbose_retry = true # Try twice (retry once) config.default_retry_count = 2 # Only retry when Selenium raises Net::ReadTimeout config.exceptions_to_retry = [Net::ReadTimeout] end 

默认超时为60秒。 要尝试的一件事是调整内部超时以查看是否修复了它:

 Capybara.register_driver :selenium do |app| profile = Selenium::WebDriver::Firefox::Profile.new client = Selenium::WebDriver::Remote::Http::Default.new client.timeout = 120 # instead of the default 60 Capybara::Selenium::Driver.new(app, browser: :firefox, profile: profile, http_client: client) end