我正在尝试在travis-ci上的Java / Selenium测试上运行测试。但是似乎travis-ci无法从我的src/test/resource
文件夹中找到chromedriver。我已经在github上将chromedriver和测试用例一起推送了,但是似乎不起作用。这是错误快照-
这是我的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)
答案 0 :(得分:0)
需要在显示端口上启动xvfb。 Linux上的Chrome需要它。在安装前的阶段/步骤中添加以下代码。sleep在那里为xvfb腾出了一些时间。
before-install:
- "export DISPLAY=99:0"
- "sh -e /etc/init.d/xvfb start"
- sleep 3