【发布时间】:2016-04-27 22:15:05
【问题描述】:
我正在尝试调试为什么在无头 linux 主机上运行远程 webdriver 测试时,chrome 会显示下载对话框。我相信chrome版本是45。
几个环境细节
- 硒 2.53(宝石)
- Selenium 2.53 服务器 Jar
- Chrome 驱动程序 2.21
框架/测试是用 Ruby 编写的,利用 Capybara 来驱动 Web 测试。以下是远程驱动程序如何初始化的简要 sn-p。
prefernces = {
:download => {
:prompt_for_download => false,
:default_directory => '/home/john.doe/Downloads/'
}
}
caps = Selenium::WebDriver::Remote::Capabilities.chrome()
caps['chromeOptions'] = {'prefs' => prefernces}
http_client = Selenium::WebDriver::Remote::Http::Default.new
http_client.timeout = 240
options = {
browser: :remote,
url: "http://<server_url>:4444/wd/hub",
desired_capabilities: caps,
http_client: http_client
}
# Returns Remote Driver
Capybara::Selenium::Driver.new(app, options)
我已经通过集线器验证了 chromeOptions 已设置,但是当下载文件时,我们会看到一个文件对话框提示。
我已竭尽全力寻找解决此问题的方法。感谢您的帮助和考虑!
【问题讨论】:
标签: ruby selenium-webdriver capybara selenium-chromedriver chrome-options