如何在Intellij IDEA中设置浏览器驱动程序与系统属性的相对路径?

时间:2016-10-27 05:22:53

标签: selenium intellij-idea

我需要传递Firefox和Chrome驱动程序的路径,这些路径存储在我的资源目录(/ src / main / resources / drivers)中。

enter image description here

例如,要获得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。

怎么做?

2 个答案:

答案 0 :(得分:2)

Java文件路径..总是令人困惑。

对于我自己的项目,它在使用从项目根目录开始的相对路径时起作用。 对你而言,这就像"./src/main/resources/drivers/geckodriver"

旁注:我不会将二进制文件放入' src'文件夹顺便说一句,它不是源文件。

答案 1 :(得分:0)

驱动程序的Java文件路径可以被编写为相对于项目根目录的相对路径。 "./"指出根目录(项目)下的父文件夹 因此,如果项目中的父文件夹为resources/drivers,则路径类似于

System.setProperty("webdriver.gecko.driver", "./resources/drivers/geckodriver/geckodriver.exe");