运行 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)。

现在,

  1. 如果我 运行 从我的项目目录中保存的可执行 jar 并双击该 jar,能够启动 Chrome 浏览器,即, I:\Projects>java -jar "C:\Users\Programmer\Desktop\runnable.jar",但是
  2. 如果我从桌面保存可执行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");

之后我的问题就解决了。

感谢大家花时间回答问题。