我在 Jenkins 中使用 parallel_test gem(也与 Capybara、selenium - Ruby 语言一起使用)在 Chrome 上运行自动化测试时遇到了问题。我正在使用 Xvfb 以无头模式运行它。但是,由于“没有这样的会话”或“无法访问 chrome”错误,大多数测试场景都失败了。
这是我在 Jenkins 测试作业中的运行命令:
xvfb-run -a --server-args='-screen 0 1680x1050x24' bundle exec parallel_cucumber features/ -n 4 -o '-t ~@ignore -p jenkins_chrome'
这是我在 env.rb 中的 register_driver:
Capybara.register_driver :chrome do |app|
Capybara::Selenium::Driver.new(app,
browser: :chrome,
desired_capabilities: {
"chromeOptions" => {
"args" => %w{ --start-maximized --disable-impl-side-painting --no-sandbox }
}
})
end
这是错误消息:
(Driver info: chromedriver=2.20.353124 (035346203162d32c80f1dce587c8154a1efa0c3b),platform=Linux 4.0.5 x86_64) (Selenium::WebDriver::Error::NoSuchDriverError)
./features/step_definitions/view_a_profile.rb:204:in `/^user has signed in as "([^"]*)"$/'
有人说错误是由于 xvfb 造成的,有人说是由于 Chrome 无法并行运行。
有没有人遇到过这个问题?我怎么解决这个问题?