ChromeDriver keeps crashing on Jenkins Selenium Jo

2019-04-07 04:04发布

问题:

I am trying to run some automated tests on Jenkins using protractor which uses selenium and chromedriver.

I have also setup xvfb so that we can run these tests in a headless manner. I have the xvfb jenkins plugin installed and it is working correctly.


Error

The problem I'm having, is when I start the tests, chrome keeps crashing. I get this error:

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

Setup

Here is the information I have on the setup of the system:

  • Chrome
    • Location: /usr/bin/google-chrome
    • Version: Chromium 52.0.2743.0
  • ChromeDriver
    • Location: {project_home}/src/js/node_modules/webdriver-manager/selenium/chromedriver_2.24
    • Version: ChromeDriver 2.24.417424
  • Selenium
    • Location: {project_home}/src/js/node_modules/webdriver-manager/selenium/selenium-server-standalone-2.53.1.jar
    • Version: 2.53.1
  • Protractor
    • Location: {project_home}/src/js/node_modules/protractor
    • Version: 4.0.9
  • WebDriver Manager
    • Location: {project_home}/src/js/node_modules/webdriver-manager
    • Version: 10.2.4
  • Jenkins
    • Version: 1.6.17
  • xvfb
    • Version: Unknown
  • Node
    • Version: 6.7
  • Java
    • Version: java-8-openjdk-amd64

Output

Here is the console output from 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 Config

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 plugin


Related

  • Chrome reference: https://sites.google.com/a/chromium.org/chromedriver/help/chrome-doesn-t-start
  • unknown error: Chrome failed to start: exited abnormally (Driver info: chromedriver=2.9 suggests configuring xvfb
  • WebDriverError: unknown error: Chrome failed to start: exited abnormally unsolved
  • https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/8409 suggests using direct connect: "Protractor can test directly against Chrome and Firefox without using a Selenium Server. To use this, in your config file set directConnect: true."
  • Selenium Webdriver & Chrome driver - not able to run chrome driver suggests using java 1.6 instead
  • Chrome on remote webdriver (via Grid) failed to start suggests using x64 chromedriver and specifying it in a parameter

回答1:

Please try updating Protractor to latest 4.0.11 and chrome driver to 2.25 as there were lot of issues reported in 2.24 version which has been fixed.

Try it once and let us know.



回答2:

Can you follow below :
- In you jenkins settings add a global property

key : DISPLAY

value:0:0 - On your server start Xvfb in the background:

Xvfb :0 -ac -screen 0 1024x768x24 &

Reference link: unknown error: Chrome failed to start: exited abnormally (Driver info: chromedriver=2.9