java - 使用 chromedriver 2.20 和 selenium server 2.48.2,测试失败并出现错误 "Chrome failed to start: exited abnormally"

标签 java linux selenium selenium-chromedriver

我正在尝试使用位于 AWS EC2 服务器上但无法成功运行任何测试的 Selenium 网格在 Ubuntu 14.04.3 上运行 headless chrome 测试。我一直在寻找答案,尝试了许多解决方案/建议,但仍然失败。我能得到的最接近的答案是 chromedriver 和 selenium 服务器版本不同步,这就是我收到此类错误的原因。

谁能推荐可以成功协同工作的最新 chromedriver 和 selenium 服务器版本?或者您能否帮助建议我如何解决以下错误?附言。我对这些东西很陌生,我上次使用 Linux 是在 48 年前。任何帮助都会非常非常感谢。非常感谢!

Ubuntu: 14.04.3
Java: 1.7.0_80
Selenium: selenium-server-standalone-2.48.2.jar
chromedriver: 2.20.353124

这是我运行以将网络驱动程序注册到集线器的命令:

root@ip:~# java -jar selenium-server-standalone-2.48.2.jar -Dwebdriver.chrome.driver='/usr/local/bin/chromedriver' -role webdriver -hub http://172.31.40.186:4444/grid/register -port 5555 -browser browserName=chrome,maxInstances=5,platform=LINUX --verbose --log-path='/usr/local/bin/chromedriver.log' &

错误日志:

testTemp1(demo.test)  Time elapsed: 63.984 sec  <<< FAILURE!
org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: exited abnormally
  (Driver info: chromedriver=2.20.353124 (035346203162d32c80f1dce587c8154a1efa0c3b),platform=Linux 3.13.0-48-generic x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 60.68 seconds
Build info: version: '2.48.2', revision: '41bccdd', time: '2015-10-09 19:59:12'
System info: host: 'ip-172-31-40-186', ip: '172.31.40.186', os.name: 'Linux', os.arch: 'amd64', os.version: '3.13.0-48-generic', java.version: '1.7.0_80'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Command duration or timeout: 62.19 seconds
Build info: version: '2.48.2', revision: '41bccdd10cf2c0560f637404c2d96164b67d9d67', time: '2015-10-09 13:08:06'
System info: host: 'ip-172-31-40-186', ip: '172.31.40.186', os.name: 'Linux', os.arch: 'amd64', os.version: '3.13.0-48-generic', java.version: '1.7.0_80'
Driver info: org.openqa.selenium.remote.RemoteWebDriver
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:647)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:247)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:129)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:156)
    at demo.test.testTemp1(test.java:76)
Caused by: org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: exited abnormally
  (Driver info: chromedriver=2.20.353124 (035346203162d32c80f1dce587c8154a1efa0c3b),platform=Linux 3.13.0-48-generic x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 60.68 seconds
Build info: version: '2.48.2', revision: '41bccdd', time: '2015-10-09 19:59:12'
System info: host: 'ip-172-31-40-186', ip: '172.31.40.186', os.name: 'Linux', os.arch: 'amd64', os.version: '3.13.0-48-generic', java.version: '1.7.0_80'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Build info: version: '2.48.2', revision: '41bccdd10cf2c0560f637404c2d96164b67d9d67', time: '2015-10-09 13:08:06'
System info: host: 'ip-172-31-40-186', ip: '172.31.40.186', os.name: 'Linux', os.arch: 'amd64', os.version: '3.13.0-48-generic', java.version: '1.7.0_80'
Driver info: driver.version: ChromeDriver
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:647)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:247)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:129)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:142)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:170)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:138)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at org.openqa.selenium.remote.server.DefaultDriverProvider.callConstructor(DefaultDriverProvider.java:103)
    at org.openqa.selenium.remote.server.DefaultDriverProvider.newInstance(DefaultDriverProvider.java:97)
    at org.openqa.selenium.remote.server.DefaultDriverFactory.newInstance(DefaultDriverFactory.java:60)
    at org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(DefaultSession.java:222)
    at org.openqa.selenium.remote.server.DefaultSession$BrowserCreator.call(DefaultSession.java:1)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at org.openqa.selenium.remote.server.DefaultSession$1.run(DefaultSession.java:176)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

最佳答案

感谢@makeMonday。你提供给我的链接对我帮助不大,但还是谢谢你。我意识到我的 Linux 环境可能一团糟。我所做的是将我的版本更新到以下版本,以便我的测试能够成功运行。

版本

ubuntu=14.04
google-chrome=46.0.2490.86
chromedriver=2.20.353124
selenium server=2.47.1 or 2.48.2 (though sometimes, I am still getting a "session deleted because of page crash" error)

然后,我在运行测试之前先运行下面。

export DISPLAY=:0
Xvfb :0 -ac -screen 0 1024x768x24 &
google-chrome --remote-debugging-port=9222 &
nohup java -jar ./selenium-server-standalone-2.47.1.jar &
java -jar ./selenium-server-standalone-2.47.1.jar -role node -hub http://<IP>:4444/grid/register -port 5555

关于java - 使用 chromedriver 2.20 和 selenium server 2.48.2,测试失败并出现错误 "Chrome failed to start: exited abnormally",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33691405/

相关文章:

linux - Eclipse 是否可用于任何 Linux 发行版

internet-explorer - Selenium 网格 : queue size of the Hub?

java - 如何为Testng创建一个可执行jar文件,runnnig点应该是Xml文件

python - 等待父标签是否可以确保使用 Selenium 完全加载子标签?

java - 如何修复 docker-compose 中 Jedis 中的连接被拒绝错误?

java - 如何读取netty channel 池中的服务器响应?

linux - 非常简单的 Shell 脚本问题 : Making sticky changes?

java - 比较列表中对象的属性

java - Groovy 中的静态编译

linux - 模拟非登录用户的权限