google-chrome - ChromeDriver 在 Jenkins Selenium 作业上不断崩溃 : "WebDriverError: Chrome failed to start: crashed"

标签 google-chrome selenium jenkins selenium-webdriver protractor

我正在尝试使用 protractorJenkins 上运行一些自动化测试它使用seleniumchromedriver

我还设置了xvfb,以便我们能够以 headless 方式运行这些测试。我安装了 xvfb jenkins 插件并且它工作正常。

<小时/>

错误

我遇到的问题是,当我开始测试时,chrome 不断崩溃。我收到此错误:

E/launcher - WebDriverError: unknown error: Chrome failed to start: crashed
...
E/launcher - Process exited with error code 199
<小时/>

设置

这是我所掌握的有关系统设置的信息:

  • Chrome
    • 位置:/usr/bin/google-chrome
    • 版本:Chromium 52.0.2743.0
  • ChromeDriver
    • 位置:{project_home}/src/js/node_modules/webdriver-manager/selenium/chromedriver_2.24
    • 版本:ChromeDriver 2.24.417424
  • Selenium
    • 位置:{project_home}/src/js/node_modules/webdriver-manager/selenium/selenium-server-standalone-2.53.1.jar
    • 版本:2.53.1
  • Protractor
    • 位置:{project_home}/src/js/node_modules/protractor
    • 版本:4.0.9
  • WebDriver 管理器
    • 位置:{project_home}/src/js/node_modules/webdriver-manager
    • 版本:10.2.4
  • Jenkins
    • 版本:1.6.17
  • xvfb
    • 版本:未知
  • 节点
    • 版本:6.7
  • Java
    • 版本:java-8-openjdk-amd64
<小时/>

输出

这是 Jenkins 的控制台输出:

...
21:58:07.380 INFO - Launching a standalone Selenium Server
21:58:07.407 INFO - Java: Oracle Corporation 25.111-b14
21:58:07.407 INFO - OS: Linux 4.4.0-47-generic amd64
21:58:07.418 INFO - v2.53.1, with Core v2.53.1. Built from revision a36b8b1
21:58:07.473 INFO - Driver provider org.openqa.selenium.ie.InternetExplorerDriver registration is skipped:
registration capabilities Capabilities [{ensureCleanSession=true, browserName=internet explorer, version=, platform=WINDOWS}] does not match the current platform LINUX
21:58:07.474 INFO - Driver provider org.openqa.selenium.edge.EdgeDriver registration is skipped:
registration capabilities Capabilities [{browserName=MicrosoftEdge, version=, platform=WINDOWS}] does not match the current platform LINUX
21:58:07.474 INFO - Driver class not found: com.opera.core.systems.OperaDriver
21:58:07.474 INFO - Driver provider com.opera.core.systems.OperaDriver is not registered
21:58:07.475 INFO - Driver provider org.openqa.selenium.safari.SafariDriver registration is skipped:
registration capabilities Capabilities [{browserName=safari, version=, platform=MAC}] does not match the current platform LINUX
21:58:07.475 INFO - Driver class not found: org.openqa.selenium.htmlunit.HtmlUnitDriver
21:58:07.475 INFO - Driver provider org.openqa.selenium.htmlunit.HtmlUnitDriver is not registered
21:58:07.527 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub
21:58:07.527 INFO - Selenium Server is up and running
Current webdriver status: [21:58:08] I/status - selenium standalone version available: 2.53.1 [default]
[21:58:08] I/status - chromedriver versions available: 2.22, 2.24 [default]
[21:58:08] I/status - geckodriver version available: v0.9.0 [default]
[21:58:08] I/status - android-sdk is not present
[21:58:08] I/status - appium is not present
**** STARTING GUI TESTS ****


Running ./node_modules/protractor/bin/protractor conf-server.js
[21:58:08] I/local - Starting selenium standalone server...
[21:58:08] I/launcher - Running 1 instances of WebDriver
[21:58:09] I/local - Selenium standalone server started at http://10.0.0.82:33509/wd/hub
[21:59:09] E/launcher - unknown error: Chrome failed to start: crashed
  (Driver info: chromedriver=2.24.417424 (c5c5ea873213ee72e3d0929b47482681555340c3),platform=Linux 4.4.0-47-generic x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 60.17 seconds
Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:37:03'
System info: host: 'ip-10-0-0-82', ip: '10.0.0.82', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-47-generic', java.version: '1.8.0_111'
Driver info: org.openqa.selenium.chrome.ChromeDriver
[21:59:09] E/launcher - WebDriverError: unknown error: Chrome failed to start: crashed
  (Driver info: chromedriver=2.24.417424 (c5c5ea873213ee72e3d0929b47482681555340c3),platform=Linux 4.4.0-47-generic x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 60.17 seconds
Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:37:03'
System info: host: 'ip-10-0-0-82', ip: '10.0.0.82', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-47-generic', java.version: '1.8.0_111'
Driver info: org.openqa.selenium.chrome.ChromeDriver
    at WebDriverError ({project_home}/src/js/node_modules/selenium-webdriver/lib/error.js:27:5)
    at Object.checkLegacyResponse ({project_home}/src/js/node_modules/selenium-webdriver/lib/error.js:639:15)
    at parseHttpResponse ({project_home}/src/js/node_modules/selenium-webdriver/http/index.js:538:13)
    at client_.send.then.response ({project_home}/src/js/node_modules/selenium-webdriver/http/index.js:472:11)
    at ManagedPromise.invokeCallback_ ({project_home}/src/js/node_modules/selenium-webdriver/lib/promise.js:1379:14)
    at TaskQueue.execute_ ({project_home}/src/js/node_modules/selenium-webdriver/lib/promise.js:2913:14)
    at TaskQueue.executeNext_ ({project_home}/src/js/node_modules/selenium-webdriver/lib/promise.js:2896:21)
    at asyncRun ({project_home}/src/js/node_modules/selenium-webdriver/lib/promise.js:2820:25)
    at {project_home}/src/js/node_modules/selenium-webdriver/lib/promise.js:639:7
    at process._tickCallback (internal/process/next_tick.js:103:7)
From: Task: WebDriver.createSession()
    at Function.createSession ({project_home}/src/js/node_modules/selenium-webdriver/lib/webdriver.js:329:24)
    at Builder.build ({project_home}/src/js/node_modules/selenium-webdriver/builder.js:458:24)
    at Local.DriverProvider.getNewDriver ({project_home}/src/js/node_modules/protractor/built/driverProviders/driverProvider.js:37:33)
    at Runner.createBrowser ({project_home}/src/js/node_modules/protractor/built/runner.js:198:43)
    at {project_home}/src/js/node_modules/protractor/built/runner.js:277:30
    at _fulfilled ({project_home}/src/js/node_modules/q/q.js:834:54)
    at self.promiseDispatch.done ({project_home}/src/js/node_modules/q/q.js:863:30)
    at Promise.promise.promiseDispatch ({project_home}/src/js/node_modules/q/q.js:796:13)
    at {project_home}/src/js/node_modules/q/q.js:604:44
    at runSingle ({project_home}/src/js/node_modules/q/q.js:137:13)
[21:59:09] E/launcher - Process exited with error code 199
<小时/>

Protractor 配置

exports.config = {
  seleniumServerJar: './node_modules/webdriver-manager/selenium/selenium-server-standalone-2.53.1.jar',
  chromeDriver: './node_modules/webdriver-manager/selenium/chromedriver_2.24',

  capabilities: {
    'browserName': 'chrome',
    'chromeOptions': {
      binary: '/usr/bin/google-chrome',
      args: ['--enable-logging','--v=1'],
      extensions: []
    }
  },

  framework: 'custom',
  frameworkPath: require.resolve('./node_modules/protractor-cucumber-framework'),
  specs: [
      '../../features/gui/active/*.feature'
  ],

  onPrepare: function ()
  {
    require('babel-register')({ presets : ['es2015'] })
  }
};
<小时/>

Jenkins xvfb 插件

xvfb configuration

<小时/>

相关

最佳答案

请尝试将 Protractor 更新到最新的 4.0.11,并将 chrome 驱动程序更新到 2.25,因为 2.24 版本中报告了很多问题,现已修复。

尝试一次并告诉我们。

关于google-chrome - ChromeDriver 在 Jenkins Selenium 作业上不断崩溃 : "WebDriverError: Chrome failed to start: crashed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40921546/

相关文章:

java - 在 Selenium WebDriver 中浏览时避免执行停止

java - 鼠标悬停操作 - 无法单击隐藏链接

java - 将 stderr 重定向到 stdout 时,gradle 的输出出现乱码。 Jenkins gradle 插件受到影响

java - 知道Google Drive的访问 token 后如何获取刷新 token ?

google-chrome - 为什么 chrome.extension.getBackgroundPage() 返回 null?

ruby-on-rails - Ruby on Rails 中的全栈测试选项

html - Selenium:嵌入到 Object 标签中的 SVG 元素未被 Selenium IDE 或 xPath 识别?

java - 我如何配置我的 Jenkins 工作以获得测试报告?

ant - 错误 : The entity name must immediately follow the '&' in the entity reference

html - <pre> 标签使浏览器关闭段落