如何在Jenkins作业中使用Selenium WebDriver?
我编写了一些JUnit测试,使用Selenium和Chrome 76.0.3809.68版的WebDriver。当我使用mvn clean install执行maven模块时,一切正常,但是当我尝试在Jenkins作业中运行它时,我得到以下错误:如何在Jenkins作业中使用Selenium WebDriver?,selenium,jenkins,selenium-chromedriver,Selenium,Jenkins,Selenium Chromedriver,我编写了一些JUnit测试,使用Selenium和Chrome 76.0.3809.68版的WebDriver。当我使用mvn clean install执行maven模块时,一切正常,但是当我尝试在Jenkins作业中运行它时,我得到以下错误: The driver is not executable: /jenkins/workspace/webUI.ITests/target/test-classes/calculator/chromedriverunix 现在,我已经尝试对chrome
The driver is not executable: /jenkins/workspace/webUI.ITests/target/test-classes/calculator/chromedriverunix
现在,我已经尝试对chromedriver.exe文件执行相同的操作,但我得到了相同的错误。这两个驱动程序都来自selenium网站,应该是正确的驱动程序。这是我用来设置驱动程序的代码:
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
来更改它。谢谢,我将在几个小时后尝试此解决方案,并会告诉您它是否有效。好的,我尝试了您的解决方案,但问题是,当这个作业被执行时,它做的第一件事就是获取git存储库的头部并创建所有文件。因此,每次我执行作业时,该文件都不同于我在其上执行chmod 777的文件。我如何才能克服这个问题?@hristianiev:请确保Git存储库中ChromeDriver.exe的文件权限具有执行权限。您可能需要从Git中删除该文件,然后在其上运行chmod
后再次添加它。