1


我在 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 无法并行运行。
有没有人遇到过这个问题?我怎么解决这个问题?

4

1 回答 1

0

带有 chromedriver 和 xvfb 的 Chrome 无法在任何 suse 上运行。(这里可能不相关)

通常在构建服务器上,所有内容都以 root 身份执行,这对我来说使用 chrome 会导致这个确切的错误。(为此,我正在寻找自己的解决方法)

于 2016-02-09T12:52:44.393 回答