我需要传递Firefox和Chrome驱动程序的路径,这些路径存储在我的资源目录(/ src / main / resources / drivers)中。
例如,要获得Firefox驱动程序(geckodriver),我正在传递系统属性的完整路径:
private static WebDriver getFirefoxDriver(){
System.setProperty("webdriver.gecko.driver",
"/home/alex/Programming/Automation/Selenium_practice/mailru/src/main/resources/drivers/geckodriver");
return new FirefoxDriver();
}
但是为了使这个项目可以导出,我需要将相对路径传递给geckodriver。
怎么做?
答案 0 :(得分:2)
Java文件路径..总是令人困惑。
对于我自己的项目,它在使用从项目根目录开始的相对路径时起作用。
对你而言,这就像"./src/main/resources/drivers/geckodriver"
。
旁注:我不会将二进制文件放入' src'文件夹顺便说一句,它不是源文件。
答案 1 :(得分:0)
驱动程序的Java文件路径可以被编写为相对于项目根目录的相对路径。
"./"
指出根目录(项目)下的父文件夹
因此,如果项目中的父文件夹为resources/drivers
,则路径类似于
System.setProperty("webdriver.gecko.driver",
"./resources/drivers/geckodriver/geckodriver.exe");