我正在为我们的一个项目做自动化,因为我编码如下:
public void m() throws FileNotFoundException, IOException {
System.setProperty("webdriver.chrome.driver",Thread.currentThread().getContextClassLoader().getResource("chromedriver.exe").getFile());
System.out.println("123");
WebDriver driver = new ChromeDriver();
driver.get("http://www.google.com");
}
当我在eclipse中执行时它正在工作。但是当我使用maven生成的jar测试时,它给出了一个例外:
线程中的异常" main" java.lang.IllegalStateException:驱动程序可执行文件不存在:C:\Users\rkowsu\Desktop\jar\file:\C:\Users\UU1\Desktop\jar\resources-part-0.0.1-SNAPSHOT.jar!\chromedriver.exe
有什么不对吗?
答案 0 :(得分:1)
如果您的应用程序的 public function suggetions(){
header('Content-type: application/json');
$arr=Array();
$arr[] = 'tag111';
$arr[] = 'tag222';
$arr[] = 'tag333';
echo json_encode($arr);
}
目录中有chromedriver.exe,那么它将被打包到您的jar文件中。
不能从那里执行。
答案 1 :(得分:0)
对于System.setProperty()
,您应该提供"webdriver.chrome.driver"
和relative\path\to\exe
。如果您的项目结构如下所示:
src
main
java
App.java
resources
chromedriver.exe
您应该使用System.setProperty("webdriver.chrome.driver", "src" + File.separator + "main" + File.separator + "resources" + File.separator +"chromedriver.exe")
无论你是否从jar运行,都可以找到.exe。