"ChromeDriver is not executable" 运行 GitLab 管道时出错

"ChromeDriver is not executable" error when run GitLab pipeline

我才开始使用 GitLab 作为 CI 工具。 我已经使用堆栈创建了自动测试:Java、Cucumber、Maven。 我已经使用下一个设置创建了 gitlab-ci.yml:

image: maven:latest
stages:
  - test
test:
  stage: test
  script:
    - mvn clean test -Dtest=RunCucumberTest

yml example

但是管道失败并出现下一个错误:

 java.lang.IllegalStateException: The driver is not executable: /builds/<user>/cucumber-testing/./src/drivers/chromedriver_99.exe
    at com.google.common.base.Preconditions.checkState(Preconditions.java:585)
    at org.openqa.selenium.remote.service.DriverService.checkExecutable(DriverService.java:150)
    at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:141)
    at org.openqa.selenium.chrome.ChromeDriverService.access[=13=]0(ChromeDriverService.java:35)
    at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:159)
    at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:355)
    at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:94)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123)
    at seleniumActions.ActionWithElement.setUp(ActionWithElement.java:24)
    at stepDefinition.Hooks.setUp(Hooks.java:14)

如何在我的 .yml 文件中为 gitlab 设置 ChromeDriver?

GitLab docker 作业在 Linux docker 容器中执行。您的可执行文件(.exe 文件)是 win32 二进制文件,不能用于 Linux 容器中的作业 运行。

下载 linux chromedriver 并改为指定该文件。