Selenium Chrome驱动程序和Travis CI不能一起使用

时间:2018-11-09 05:21:39

标签: java spring selenium travis-ci

当Travis构建我的应用程序并进行Selenium测试时,它将在日志中引发以下消息:

  

仅允许本地连接。

然后测试失败,并出现org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: exited abnormally异常

.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>

我觉得这与Travis配置有关。我的应用程序是基于Web的(Spring),因此它必须正常工作才能进行测试。 我应该怎么做才能使使用Chrome驱动程序的Selenium测试能够在Travis CI上运行?

到目前为止,我已经看到了许多解决问题的方法,但是没有一种有效。我觉得这是不可能。为什么这有问题?

已更新。

正如@LucasTierney所说,尝试删除- google-chrome-stable --headless --disable-gpu --no-sandbox --remote-debugging-port=80 http://localhost &并没有做任何更改。

已更新

好吧,终于可以开始使用上面相同的配置了。我不知道发生了什么,为什么它没有更早起作用。

1 个答案:

答案 0 :(得分:0)

您使用的chromedriver版本过旧。 2.30仅支持(正式)v58-60。如果要在安装时使用最新的稳定器(当前为70),则应使用支持它的chromedriver。那将是2.42或更高