设置selenium web驱动程序的相对路径

时间:2018-02-19 14:54:52

标签: java selenium-webdriver

我创建了这样的chrome驱动程序:

System.setProperty("webdriver.chrome.driver",
            "C:\\Users\\ragnar_000\\IdeaProjects\\ProjectA\\src\\test\\resources\\chromedriver.exe");
webDriver = new ChromeDriver();

此代码是在Windows平台上编写的。当我在Mac上运行它时,我必须根据Mac平台编辑路径。

如何设置/检查路径以便它可以在所有平台上运行,就像它只需要路径src / test / resources / chromedrivers.exe

3 个答案:

答案 0 :(得分:0)

回答这个问题的两种方法: 第一:使用绝对路径。

Paths.get("." + File.separator + "folder" + File.separator + "chromedriver.exe"); //local project folder
Paths.get(System.getProperty("user.home") + File.separator + "folder" + 
File.separator + "chromedriver.exe"); //file in folder in user home dircetory

这是一个非常具有共性的问题。 Googleit。

第二种方式:此设置需要存储在项目* .properties文件中,并在每个平台上重新加载此属性而无需重写测试源代码。任何路径都像" ... driver.exe"在unix或mac上不适用。这种方式也提供了带有驱动程序路径字符串的可用性运行测试。

希望它有所帮助。

答案 1 :(得分:0)

在项目下创建一个文件夹,并将chromedriver.exe复制到该文件夹​​(例如:/resources/chromedrivers.exe)。

然后按

设置该文件夹的路径
String path = System.getProperty("user.dir");
System.out.println(path); 
System.setProperty("webdriver.chrome.driver",path+"\\resources\\chromedriver.exe");

我已尝试在Windows及其工作。尝试在Mac上运行。

答案 2 :(得分:0)

基于文档https://www.selenium.dev/documentation/en/

WebDriver driver = new FirefoxDriver(); // for firefox

WebDriver driver = new ChormeDriver(); // for chrome

应有助于解决此问题。 请确保您已导入相关的类

import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;