我有一个 ant 脚本,它从 SVN check out 我们所有的项目,然后构建项目、部署 WAR 文件并运行 Selenium 测试。不幸的是,当通过 cron
运行 shell 脚本时,它不会打开浏览器。
抛出错误:
org.openqa.selenium.WebDriverException: Unable to either launch or connect to Chrome. Please check that ChromeDriver is up-to-date. Using Chrome binary at: /opt/google/chrome/google-chrome (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 6.88 seconds
Build info: version: '2.21.0', revision: '16552', time: '2012-04-11 19:09:00'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.37.6-0.9-desktop', java.version: '1.6.0_26'
Driver info: driver.version: ChromeDriver
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:175)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:128)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:459)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:140)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:95)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:133)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:110)
at com.integration.SetUp.testLogin(SetUp.java:52)
</error>
我确实将 export DISPLAY=:0
添加到正在使用的 shell 脚本中。
export ANT_HOME=/home/user/CCBuild/apache-ant-1.8.2
export PATH=$PATH:$ANT_HOME/bin
export JAVA_HOME=/usr/java/jdk1.6.0_26
export PATH=$PATH:$JAVA_HOME/bin/java
export DISPLAY=:0
echo $ANT_HOME
cd CCBuild
ant -v -f build-all.xml
即便如此,它也会抛出错误。截至目前,我无法使用 Jenkins 来运行该套件,我需要让这个 cron
工作正常运行。
最佳答案
我知道这是旧的...但我遇到了同样的问题。我通过在 crontab 中设置变量来解决这个问题...添加到 cron DISPLAY=:0 的顶部
关于java - 运行 Selenium 2 测试套件的 Cron 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11225698/