我正在尝试在 travis-ci 上运行 java/selenium 测试。但 travis-ci 似乎无法从我的 src/test/resource 文件夹中找到 chromedriver。我已经将 chromedriver 与 github 上的测试用例一起推送,但它似乎不起作用。这是错误快照-
这是我的 t.travis.yml 文件 -
sudo: required
dist: trusty
language: java
cache:
directories:
- $HOME/.m2
jdk:
- oraclejdk8
addons:
chrome: stable
before_install:
- wget -N
- http://chromedriver.storage.googleapis.com
/2.40/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
- sudo ln -s /usr/local/share/chromedriver
/usr/local/bin/chromedriver
- sleep 3
# whitelist
branches:
- first-branch
script:
- whereis google-chrome-stable
- whereis chromedriver
- mvn clean install
这是我在测试脚本中设置驱动程序路径的方法:
System.setProperty("webdriver.chrome.driver",
System.getProperty("user.dir") +
"//src//test//resources//chromedriver");
需要帮助。是操作系统吗?我在本地 OSx 上运行,在 travis-ci 上运行 Linux 容器。
更新:推送了 chromedriver 的 Linux 版本。它已开始检测 chromedriver,但现在抛出以下错误:
Constructor threw exception; nested exception is
org.openqa.selenium.WebDriverException: unknown error: Chrome failed to
start: exited abnormally
(Driver info: chromedriver=2.30.477691
(6ee44a7247c639c0703f291d320bdf05c1531b57),platform=Linux 4.4.0-101-
generic x86_64) (WARNING: The server did not provide any stacktrace
information)
最佳答案
需要在显示端口上启动 xvfb。 Linux 上的 Chrome 需要它。在安装前 stage/step.sleep 中添加以下代码,以便为 xvfb 启动提供一些时间。
before-install:
- "export DISPLAY=99:0"
- "sh -e /etc/init.d/xvfb start"
- sleep 3
关于java - Travis-ci 无法找到 chromedriver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51510620/