我编写了一些使用Selenium和Chrome版本76.0.3809.68的WebDriver的JUnit测试。当我使用 mvn 全新安装执行 maven 模块时,一切正常,但是当我尝试在 Jenkins 作业中运行它时,我收到以下错误:
The driver is not executable: /jenkins/workspace/webUI.ITests/target/test-classes/calculator/chromedriverunix
现在我已经尝试对 chromedriver.exe 文件执行相同的操作,但我收到相同的错误。这两个驱动程序都来自硒网站,应该是正确的驱动程序。这是我用来设置驱动程序的代码:
if (System.getenv("ON_JENKINS") == null) {
URL res = this.getClass().getResource("chromedriverunix");
File file = Paths.get(res.toURI()).toFile();
return file.getAbsolutePath();
} else {
URL res = this.getClass().getResource("chromedriver.exe");
File file = Paths.get(res.toURI()).toFile();
return file.getAbsolutePath();
}
这两个文件肯定都存在于构建中。提前谢谢你!
这似乎与Unix的权限有关。您可以通过在chromedriver所在的文件夹中执行chmod 777 chromedriverunix
或chmod +x chromedriverunix
来更改它。