goog:使用RSpec,Capybara和Selenium完全忽略chromeOptions

问题描述 投票:0回答:1

还有其他人有这个问题吗?似乎某个地方goog:chromeOptions没有正确传递给chromedriver - 这导致Chrome只是打开默认选项。

我正在使用以下Capybara / Selenium配置:

Capybara.register_driver :chrome do |app|
  capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
    'goog:chromeOptions': {
      args: %w[ start-maximized ]
    }
  )

  Capybara::Selenium::Driver.new(
    app,
    browser: :chrome,
    desired_capabilities: capabilities,
    driver_opts: {
      log_path: "./tmp/chrome#{Time.now.to_i}.log",
      verbose: true
    }
  )
end

Capybara.javascript_driver = :chrome

但是,当我打开Capybara会话日志时,goog:chromeOptions根本没有设置。这就是我的Chrome窗口没有最大化的原因吗?

会话日志:

[1550680994.143][INFO]: COMMAND InitSession {
   "capabilities": {
      "firstMatch": [ {
         "browserName": "chrome",
         "goog:chromeOptions": {
           //nothing is here???  should have args!
         }
      } ]
   },
   "desiredCapabilities": {
      "browserName": "chrome",
      "cssSelectorsEnabled": true,
      "goog:chromeOptions": {
        //nothing is here???  should have args!
      },
      "javascriptEnabled": true,
      "nativeEvents": false,
      "platform": "ANY",
      "rotatable": false,
      "takesScreenshot": false,
      "version": ""
   }
}

操作系统:

Ubuntu 18.04

我的环境:

ruby 2.6.1
capybara (2.18.0)
selenium-webdriver (3.13.0)
ChromeDriver 2.37.544315

每次我运行Selenium测试时,窗口都没有最大化。但这不是另一个“屏幕没有最大化”的帖子(已经有很多这样的帖子)。这似乎是一个问题,我的选项可能没有被正确解析?我不知道什么是错的。我尽我所能遵循所有自述文件和指南。它只是不工作:(

selenium rspec capybara
1个回答
0
投票

通过升级Capybara和Selenium Webdriver修复它!

capybara (3.13.2)
selenium-webdriver (3.141.0)

现在,调试日志具有我期望看到的内容:

[1550686685.534][INFO]: COMMAND InitSession {
   "capabilities": {
      "firstMatch": [ {
         "browserName": "chrome",
         "goog:chromeOptions": {
            "args": [ "start-maximized" ]
         }
      } ]
   },
   "desiredCapabilities": {
      "browserName": "chrome",
      "cssSelectorsEnabled": true,
      "goog:chromeOptions": {
         "args": [ "start-maximized" ]
      },
      "javascriptEnabled": true,
      "nativeEvents": false,
      "platform": "ANY",
      "rotatable": false,
      "takesScreenshot": false,
      "version": ""
   }
}
© www.soinside.com 2019 - 2024. All rights reserved.