我有在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放置在该特定路径中,并将其作为参数传递。但不确定为什么说驱动程序不是可执行文件。
答案 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:以获得更多信息。