Java 硒铬驱动程序和Travis CI don';我们不能一起工作
Travis构建我的应用程序并进行Selenium测试时,会在日志中抛出以下消息:Java 硒铬驱动程序和Travis CI don';我们不能一起工作,java,spring,selenium,travis-ci,Java,Spring,Selenium,Travis Ci,Travis构建我的应用程序并进行Selenium测试时,会在日志中抛出以下消息: 只允许本地连接 然后测试失败,出现org.openqa.selenium.WebDriverException:未知错误:Chrome启动失败:异常退出异常 .travis.yml: language: java jdk: - openjdk8 sudo: required dist: trusty addons: # get google-chrome-stable chrome: stable bef
只允许本地连接 然后测试失败,出现
org.openqa.selenium.WebDriverException:未知错误:Chrome启动失败:异常退出
异常
.travis.yml:
language: java
jdk:
- openjdk8
sudo: required
dist: trusty
addons: # get google-chrome-stable
chrome: stable
before_script:
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
- sleep 3
install:
- wget -N http://chromedriver.storage.googleapis.com/2.43/chromedriver_linux64.zip -P ~/
- unzip ~/chromedriver_linux64.zip -d ~/
- rm ~/chromedriver_linux64.zip
- sudo mv -f ~/chromedriver /usr/local/share/
- sudo chmod +x /usr/local/share/chromedriver
然后
System.setProperty("webdriver.chrome.driver", "/usr/local/share/chromedriver");
webDriver = new ChromeDriver();
依赖性
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.14.0</version>
</dependency>
org.seleniumhq.selenium
硒爪哇
3.14.0
我觉得这是关于特拉维斯的配置。我的应用程序是基于web的(Spring),因此它必须正常工作才能进行测试。
我应该怎样做才能使带有Chrome驱动程序的Selenium测试能够在Travis CI上工作
到目前为止,我已经看到了许多解决这个问题的方法,但没有一种有效。我觉得这是不可能的。为什么会有问题
已更新。
正如@LucasTierney所说的,试图删除-googlechrome-stable--headless--disable-gpu--no-sandbox--remote-debuging-port=80http://localhost &
未进行任何更改
已更新
最后,它开始使用上面相同的配置。我不知道发生了什么事,也不知道为什么早些时候它不起作用 您使用的chromedriver版本太旧了
2.30
仅支持(官方)v58-60
。如果要使用最新的stable(当前为70
),则在安装时应使用支持它的chromedriver。这将是2.42
或更高的看看@BalwinderSingh没有帮助。问题是,我只有在使用Travis时才面临这个问题,而不是在本地机器上进行测试时,“只允许本地连接”expected@CoreyGoldberg有什么问题吗?看起来我做了所有应该做的事情,为什么你要在安装前启动浏览器?我没有提到我的错误,但我已经尝试使用最新的chromedriver版本。不幸的是,结果还是一样。为什么在运行测试之前要启动chrome浏览器?这将导致问题`-google chrome stable--headless--disable gpu--no sandbox--remote debugging port=80&`你是什么意思?但是如果Selenium需要浏览器,我怎么能在没有启动浏览器的情况下进行测试呢?Selenium为您启动浏览器,它无法连接到已经运行的浏览器。很好,我评论了这个-谷歌chrome稳定-无头-禁用gpu-无沙盒-远程调试端口=80http://localhost &
但同样的问题仍然存在