java - 运行 Selenium 2 测试套件的 Cron 作业

标签 java cron webdriver selenium-webdriver

我有一个 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/

相关文章:

java - 我该如何优化这个算法?使用字符

java - 定义 jboss-web.xml 安全域导致我的 EJB 缺少依赖项

bash - 每日重启两次(cron)

java - 动态创建多个CronTriggerBean bean

java - Selenium 悬停代码适用于 Chrome 而不是 Edge

c# - 使用 Selenium PageObject 设计模式的最佳方式是什么

selenium - 由于向后兼容性已被删除,如何使用 ChromeDriver 73 和 Chrome 版本 74 执行现有的 selenium 脚本?

java - 未收到数据

java - 不支持 Spring Rest POST Json RequestBody 内容类型

php - php 脚本中的 Cron 不起作用