获取 Net::ReadTimeout:访问 Ruby Capybara Cucumber 中的网站

Getting Net::ReadTimeout: visiting a website in Ruby Capybara Cucumber

我正在 运行 使用 Ruby/Cucumber/Capybara/Chromedriver 进行自动化测试,但在 运行 一个简单的测试场景时出现错误。我试图通过更新 Ruby、Capybara、Cucumber、Chromdriver 和 Chrome 的版本来解决问题。我需要你的帮助。详情如下:

尝试: 访问“http://www.google.com

获得: 警告:格式化程序 Teamcity::Cucumber::Formatter 使用已弃用的格式化程序 API,它将在 Cucumber v4.0 中删除。

2018-04-16 14:32:43 警告 Selenium [弃用] :args 或 :switches 已弃用。请改用 Selenium::WebDriver::Chrome::Options#add_argument。

Net::ReadTimeout: Net::ReadTimeout ./features/step_definitions/common_steps.rb:46:在`/^testing$/'

ChromeVersion:65.0.3325.181 Chrome 驱动程序:2.37 黄瓜:3.1.0 水豚:3.0.1 ruby: 2.2.6

当我从 env.rb 文件中删除“--disable-extensions”时,如下所示,它工作正常..

Capybara::Selenium::Driver.new(app, :browser => :chrome, :switches => %w[--disable-extensions --disable-web-security - -开始最大化])

Capybara::Selenium::Driver.new(
  app,browser: :chrome,
      desired_capabilities: {
      'chromeOptions' => {
         'useAutomationExtension' => false,
         'args' => ['--disable-web-security', '--start-maximized', '--disable-infobars']
      }
   }
)

 client = Selenium::WebDriver::Remote::Http::Default.new
 client.read_timeout = 120

 Capybara.register_driver :headless_chrome do |app|
    capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
      chromeOptions: {args: %w[headless disable-gpu disable-popup-blocking window-size=10_000,1080 log-level=3]}
    )
    Capybara::Selenium::Driver.new(app,
                                   browser: :chrome,
                                   desired_capabilities: capabilities,
                                   http_client: client)
  end