作为项目设置的一部分,我有两个项目,一个是库,另一个是Selenium。 我在库项目中使用/ src / main / resource拥有chromedriver.exe的所有浏览器设置 Selenium项目有所有的pagefactory类,这个项目依赖于Library。 但是,当我在slave上运行项目时,我收到以下错误消息:
java.lang.IllegalStateException: The driver executable does not exist: c:\jenkins_slave10\workspace\TEST-Demos\file:\C:\Users\svc-hudson\.m2\repository\com\bskyb\automation\crm\libraries\1.1-SNAPSHOT\libraries-1.1-SNAPSHOT.jar!\chromedriver\windows\chromedriver.exe at com.google.common.base.Preconditions.checkState(Preconditions.java:177) at org.openqa.selenium.remote.service.DriverService.checkExecutable(DriverService.java:117) at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:112) at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:89) at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:149) at com.abc.automation.crm.actions.BrowserSetup.openBrowserChrome(BrowserSetup.java:38) at com.abc.automation.crm.actions.Search.setup(Search.java:111) at com.abc.automation.crm.actions.Search.directorynumber(Search.java:35) at com.abc.automation.crm.stepdefs.Demo.i_search_for_directory_number(Demo.java:34)
答案 0 :(得分:0)
您是否尝试过设置系统属性以指定chromedriver.exe
位置?
使用
启动selenium服务器-Dwebdriver.chrome.driver=c:\path\to\your\chromedriver.exe
或
在代码中设置系统属性:
System.setProperty("webdriver.chrome.driver", "C:/path/to/your/chromedriver.exe");
答案 1 :(得分:0)
你不应该在jar上装chromedirver。
尝试在jenkins中添加prebuild步骤,将chromedriver下载到工作区中的项目文件夹并设置相对路径。
答案 2 :(得分:-1)
错误表示您指定的路径不是正确的路径。
System.setProperty("webdriver.chrome.driver", "/home/path/Downloads/chromedriver"); // specify complete path.
WebDriver webDriver = new ChromeDriver();
Chrome驱动程序可能与操作系统不兼容。你必须检查一下。您可以从http://chromedriver.storage.googleapis.com/index.html?path=2.16/下载驱动程序 并提取.zip文件。
答案 3 :(得分:-1)
错误表示您指定的路径不正确。
System.setProperty("webdriver.chrome.driver", "c://jars//imp//IEDriverServer.exe"); // complete path.
WebDriver webDriver = new ChromeDriver();
我认为你遗失了用双重'//'指定路径,如下所示
c://jars//imp//IEDriverServer.exe