未知错误:Chrome无法启动:异常退出(驱动程序信息:chromedriver = 2.9

red*_*hka 73 selenium selenium-chromedriver selenium-webdriver

我试图在Debian 7上运行Selenium测试,但没有成功.

错误是:

unknown error: Chrome failed to start: exited abnormally   (Driver info: chromedriver=2.9.248316,platform=Linux 3.2.0-4-686-pae x86) (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 60.55 seconds Build info: version: '2.33.0', revision: '4ecaf82108b2a6cc6f006aae81961236eba93358', time: '2013-05-22 12:00:17' System info: os.name: 'Linux', os.arch: 'i386', os.version: '3.2.0-4-686-pae', java.version: '1.7.0_25' Driver info: org.openqa.selenium.chrome.ChromeDriver
Run Code Online (Sandbox Code Playgroud)

我有chromedriver 29,在Debian 7 32位上运行chrome 34.0.1847.76 beta.我使用的是selenium-java 2.33.0

在此链接之后,chromedriver 29chrome 34的正确版本.无论如何,以前的版本因为glibc版本而无法在Debian 7上运行...

----------ChromeDriver v2.9 (2014-01-31)----------
Supports Chrome v31-34

[更新1]

我尝试使用java 7java 6,仍然是同样的问题.可能是我应该尝试使用java 8 ^^

[更新2]

我正在使用此命令来测试chrome驱动程序,以确保这不是jenkins的问题:

curl -X POST -H "Content-Type: application/json; charset=utf-8" -d "{\"desiredCapabilities\":{\"platform\":\"ANY\",\"browserName\":\"chrome\",\"chromeOptions\":{\"args\":[],\"extensions\":[]},\"version\":\"\",\"chrome.switches\":[]}}" localhost:12495/session

我收到相同的错误消息:

{"sessionId":"210f3f837a798ee68cd91f089976d0c2","status":13,"value":{"message":"unknown error: Chrome failed to start: exited abnormally\n  (Driver info: chromedriver=2.9.248316,platform=Linux 3.2.0-4-686-pae x86)"}}

任何帮助知道发生了什么将不胜感激.

谢谢

red*_*hka 59

我终于设法让Selenium测试在我的笔记本电脑(服务器)上启动Chrome驱动程序.

重要的是使用Xvfb.不要问我为什么,但一旦你接受这个事实,请遵循以下步骤(比@Anon回答更详细)

  • Xvfb 提供了一个虚拟显示器来呈现浏览器。可能在无头模式下运行测试还可以减轻渲染浏览器的需要,否则硒会在虚拟显示器上生成。 (2认同)

Ale*_*ger 15

  1. 检查您使用的ChromeDriver 版本是否与您的 Chrome 版本相对应
  2. 如果您使用的是没有图形界面的 Linux,则必须使用“无头”模式

WebDriverSettings.java示例:

...
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("prefs", chromePrefs);
options.addArguments("--no-sandbox");
options.addArguments("--headless"); //!!!should be enabled for Jenkins
options.addArguments("--disable-dev-shm-usage"); //!!!should be enabled for Jenkins
options.addArguments("--window-size=1920x1080"); //!!!should be enabled for Jenkins
driver = new ChromeDriver(options);
...
Run Code Online (Sandbox Code Playgroud)


小智 14

您是否将DISPLAY参数传递给Jenkins工作?

我假设你也试图在无头模式下执行测试.因此,设置一些x服务(即Xvfb)并将DISPLAY号码传递给您的工作.为我工作.


Har*_*uja 9

我试图使用wdio使用Mocha框架在Jenkins上运行selenium.以下是解决此问题的步骤: -

安装谷歌浏览器

sudo apt-get update 

sudo apt-get install google-chrome-stable
Run Code Online (Sandbox Code Playgroud)

安装chrome-driver

wget http://chromedriver.storage.googleapis.com/2.23/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
Run Code Online (Sandbox Code Playgroud)

运行以下命令以启动selenium Web服务器

nohup sudo Xvfb :10 -ac
export DISPLAY=:10
java -jar vendor/se/selenium-server-standalone/bin/selenium-server-standalone.jar -Dwebdriver.chrome.bin="/usr/bin/google-chrome" -Dwebdriver.chrome.driver="vendor/bin/chromedriver"
Run Code Online (Sandbox Code Playgroud)

在此之后,您使用wdio命令进行测试

wdio wdio.conf.js
Run Code Online (Sandbox Code Playgroud)


Mil*_*lso 5

Mike R 的解决方案对我有用。这是完整的命令集:

Xvfb :99 -ac -screen 0 1280x1024x24 &
export DISPLAY=:99
nice -n 10 x11vnc 2>&1 &
Run Code Online (Sandbox Code Playgroud)

稍后您可以运行 google-chrome:

google-chrome --no-sandbox &
Run Code Online (Sandbox Code Playgroud)

或者通过 selenium 驱动程序启动谷歌浏览器(例如):

ng e2e --serve true --port 4200 --watch true
Run Code Online (Sandbox Code Playgroud)

Protractor.conf 文件:

capabilities: {
    'browserName': 'chrome',
    'chromeOptions': {
        'args': ['no-sandbox']
    }
},
Run Code Online (Sandbox Code Playgroud)