【发布时间】:2019-09-17 15:04:34
【问题描述】:
我正在尝试将 WSL2 用于 Rails 应用程序,并在 RSpec 运行时出现此错误:
Selenium::WebDriver::Error::WebDriverError:
chrome not reachable
(Session info: headless chrome=77.0.3865.75)
有人知道修复它吗?
我的水豚.rb:
require "capybara/rails"
require "selenium-webdriver"
Capybara.default_max_wait_time = 10
Capybara.register_driver :chrome do |app|
options = Selenium::WebDriver::Chrome::Options.new(
args: %w[headless no-sandbox]
)
Capybara::Selenium::Driver.new(app, browser: :chrome, options: options)
end
Capybara.javascript_driver = :chrome
Capybara.server = :puma, { Silent: true }
我将路径放在 env 变量中以访问我的 chromewebdriver 二进制文件,遵循这篇文章“https://ngauthier.com/2017/09/rails-system-tests-with-headless-chrome-on-windows-bash-wsl.html”,什么都没有!
【问题讨论】:
-
如何初始化网络驱动程序?每次 Web 驱动程序初始化或间歇性时都会发生这种情况吗?
-
每次都会发生这种情况,我运行测试,当它使用水豚到达视图测试时,就会发生这种情况!我把我的 capybara.rb 放在上面,但我的问题是在水豚中使用 WSL 中的 chromedriver 进行基本的制作工作测试
-
你能发布其中一个失败的测试的代码吗?
-
@GregBurghardt 此错误仅发生在视图测试中,我在其他论坛中发现这是因为 WSL 尝试在后台 chrome 中使用,但 wsl 没有“显示”,这会使所有视图测试失败出现该错误: Selenium::WebDriver::Error::WebDriverError: chrome not reachable (Session info: headless chrome=77.0.3865.75) 使用 linux 环境进行测试没问题,但在 WSL2 中不起作用,并且无法解决此问题WSL2 中的 chromedriver
标签: ruby-on-rails ruby selenium capybara windows-subsystem-for-linux