我最近买了一台新的 mac (macos Ventura),并试图运行我的所有测试。 (在旧机器上运行 watir 进行测试)
下载 chromedriver 并开始测试后,我从 watir gem 中得到“未定义的方法'chrome'”。
我将错误源跟踪到了
process_capabilities
中的方法watir-6.19.1/lib/watir/capabilities.rb:93
。那里的线是
caps = Selenium::WebDriver::Remote::Capabilities.send @browser, @options.merge(@w3c_caps)
。 @browser = :chrome, @options = {}
<< default setting
我认为这可能是 chromedriver 的问题,但我可以在本地启动它,并且 chromedrive 位于我的路径中。
我尝试在 irb 中启动 watir 实例,但遇到了同样的错误。
which chromedriver
/opt/homebrew/bin/chromedriver
echo $PATH
/Users/charlie.alderete/.rbenv/shims:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/ bin:/usr/sbin:/sbin
chromedriver
在端口 9515 上启动 ChromeDriver 117.0.5938.88 (be6afae4721209be42944bbcd325665f9f44563b-refs/branch-heads/5938_62@{#9})
仅允许本地连接。
请参阅 https://chromedriver.chromium.org/security-considerations 了解有关保持 ChromeDriver 安全的建议。
ChromeDriver 已成功启动。
下载并安装chromedriver(117.0.5938.88)和watir(6.19.1) 在 IRB 中尝试创建一个 watir 实例 watir 错误:Selenium::WebDriver::Remote::Capabilties:Class`
undefined method
chrome'
您需要升级到 Watir 7 或降级您的 Selenium 版本。 Selenium 改变了它允许的方法。 Watir 7 兼容,Watir 6 不兼容。