运行 selenium testng 可执行 jar 失败
Running selenium testng executable jar is failing
我在 Eclipse IDE 中使用 Java 编写了一个简单的 Selenium + TestNG maven 项目(例如,在目录 I:\Projects\
中),当我右键单击该项目并 运行 testng.xml
文件能够启动 Chrome 浏览器
我现在已将此项目导出为 'Runnable JAR file' 并将 jar 保存在桌面上 (C:\Users\Programmer\Desktop
)。
现在,
- 如果我 运行 从我的项目目录中保存的可执行 jar 并双击该 jar,能够启动 Chrome 浏览器,即,
I:\Projects>java -jar "C:\Users\Programmer\Desktop\runnable.jar"
,但是
- 如果我从桌面保存可执行jar无法启动浏览器,即
C:\Users\Programmer\Desktop>java -jar runnable.jar
我简单的selenium代码,
public class GoogleSearch {
WebDriver driver;
@Test
public void launchBrowser() {
String PWD = System.getProperty("user.dir");
System.out.println(">>>>>>" + PWD);
System.setProperty("webdriver.chrome.driver", PWD + "\lib\chromedriver");
driver = new ChromeDriver();
driver.get("https://www.google.com");
WebElement search = driver.findElement(By.name("q"));
search.sendKeys("Selenium monk");
}
@Test
public void tearDown() {
if (driver != null) {
driver.close();
driver.quit();
}
}
}
项目目录结构..
I understood like, when I am running from Desktop, jar is unable to
find the chromedriver in lib folder.? If yes, how to make it
work.?
我还缺少什么?
当你的 jar 在桌面上时,尝试 运行 这个(假设你 运行ning 在 C:\Users\you\Desktop 下),
java -cp runnable.jar;path-to-your-proj\lib\* org.testng.TestNG path-to-your-proj/testng.xml -Duser.dir=path-to-your-proj
我自己解决了,因为问题是,"when I am running from Desktop, jar is unable to find the chromedriver in lib folder."
我需要将 chrome 驱动程序设置为环境变量的一部分,并且我已经通过读取环境变量更新了 chrome 驱动程序 属性,System.getenv("chrome_driver_path");
之后我的问题就解决了。
感谢大家花时间回答问题。
我在 Eclipse IDE 中使用 Java 编写了一个简单的 Selenium + TestNG maven 项目(例如,在目录 I:\Projects\
中),当我右键单击该项目并 运行 testng.xml
文件能够启动 Chrome 浏览器
我现在已将此项目导出为 'Runnable JAR file' 并将 jar 保存在桌面上 (C:\Users\Programmer\Desktop
)。
现在,
- 如果我 运行 从我的项目目录中保存的可执行 jar 并双击该 jar,能够启动 Chrome 浏览器,即,
I:\Projects>java -jar "C:\Users\Programmer\Desktop\runnable.jar"
,但是 - 如果我从桌面保存可执行jar无法启动浏览器,即
C:\Users\Programmer\Desktop>java -jar runnable.jar
我简单的selenium代码,
public class GoogleSearch {
WebDriver driver;
@Test
public void launchBrowser() {
String PWD = System.getProperty("user.dir");
System.out.println(">>>>>>" + PWD);
System.setProperty("webdriver.chrome.driver", PWD + "\lib\chromedriver");
driver = new ChromeDriver();
driver.get("https://www.google.com");
WebElement search = driver.findElement(By.name("q"));
search.sendKeys("Selenium monk");
}
@Test
public void tearDown() {
if (driver != null) {
driver.close();
driver.quit();
}
}
}
项目目录结构..
I understood like, when I am running from Desktop, jar is unable to find the chromedriver in lib folder.? If yes, how to make it work.?
我还缺少什么?
当你的 jar 在桌面上时,尝试 运行 这个(假设你 运行ning 在 C:\Users\you\Desktop 下),
java -cp runnable.jar;path-to-your-proj\lib\* org.testng.TestNG path-to-your-proj/testng.xml -Duser.dir=path-to-your-proj
我自己解决了,因为问题是,"when I am running from Desktop, jar is unable to find the chromedriver in lib folder."
我需要将 chrome 驱动程序设置为环境变量的一部分,并且我已经通过读取环境变量更新了 chrome 驱动程序 属性,System.getenv("chrome_driver_path");
之后我的问题就解决了。
感谢大家花时间回答问题。