我正在尝试使用位于AWS EC2服务器上但不能成功运行任何测试的Selenium网格在Ubuntu 14.04.3上运行无头chrome测试。我一直在寻找答案,尝试了很多解决方案/建议,但仍然失败了。我能得到的最接近的答案是chromedriver和selenium服务器版本不同步,这就是我遇到这种错误的原因。
任何人都可以建议能够成功合作的最新的chromedriver和selenium服务器版本吗?或者,请您帮忙建议我如何解决以下错误? PS。我对这些东西很陌生,这是48年前我上次使用Linux的时候。任何帮助都将非常受欢迎。非常感谢你!
Ubuntu: 14.04.3
Java: 1.7.0_80
Selenium: selenium-server-standalone-2.48.2.jar
chromedriver: 2.20.353124
这是我将webdriver注册到集线器的命令:
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)
答案 0 :(得分:0)
谢谢@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