java - Travis-ci 无法找到 chromedriver

标签 java selenium-webdriver travis-ci

我正在尝试在 travis-ci 上运行 java/selenium 测试。但 travis-ci 似乎无法从我的 src/test/resource 文件夹中找到 chromedriver。我已经将 chromedriver 与 github 上的测试用例一起推送,但它似乎不起作用。这是错误快照-

Travis CI unable to find 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)

最佳答案

需要在显示端口上启动 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/

相关文章:

java - Eclipse:构建项目时 CPU 使用率高

java - Struts2:获取用户来自的Url

java - 从其他语言(如 Java、PHP、Perl、Python 等)调用 C/C++ 代码的最佳方式是什么?

python - 如何使用 Selenium Webdriver 在谷歌浏览器扩展中选择不同的选项

java - 在现有的 Jira 问题中添加附件

selenium - 通过 docker compose 设置 selenium 浏览器版本

python - Selenium - 解析页面花费太长时间

android - travis ci 构建失败 - 原因 : PermGen space

node.js - 为什么具有真正 headless 选项的 Chrome 59-Beta 无法与 Protractor 一起使用?

c# - 如何在 C# 或 F# 中使用 Travis-CI