无法在Linux的Jenkins上执行Chrome驱动程序

时间:2019-02-19 12:06:44

标签: linux selenium jenkins selenium-webdriver selenium-chromedriver

我有在Linux上运行的jenkins盒,每当我尝试运行以下脚本时,它就会失败,并说驱动程序不可执行。

  java.lang.IllegalStateException: The driver is not executable: /COMPLIANCE-48/workspace/AutoProfile_Exec/Driver/chromedriver
  at com.google.common.base.Preconditions.checkState(Preconditions.java:199)

代码:

        String getLocation=System.getProperty("chromePath");
        ChromeOptions chromeOptions = new ChromeOptions();
        chromeOptions.addArguments("--headless");
        System.setProperty("webdriver.chrome.driver",getLocation);
        WebDriver iDriver = new ChromeDriver(chromeOptions);

以下是mvn命令

-U clean compile exec:java -DchromePath="${WORKSPACE}/Driver/chromedriver"

实际上,我已将chromedriver放置在该特定路径中,并将其作为参数传递。但不确定为什么说驱动程序不是可执行文件。

2 个答案:

答案 0 :(得分:4)

在Linux和Mac计算机上,我们没有Windows中的exe文件,因此您需要使用chmod + x命令使驱动程序可执行。请转到存在chromedriver的路径,然后执行chmod + x命令。

您的情况应该是:

<a class="btn-signin" type="submit" ng-click="sayHi(form)">Sign in</a>

运行上述命令后,尝试运行代码,然后它将运行。

答案 1 :(得分:2)

在@Sameer Arora回答中,如果他的解决方案不能解决问题,请尝试将-DchromePath更改为-Dwebdriver.chrome.driver,如下所示:

-U clean compile exec:java -Dwebdriver.chrome.driver="${WORKSPACE}/Driver/chromedriver"

并确保chromedriver是可执行驱动程序文件,而不是目录或其他内容。

检查Mac OSX - IllegalStateException: The driver is not executable:以获得更多信息。