【问题标题】:Set relative path for selenium web driver设置 selenium web 驱动程序的相对路径
【发布时间】:2020-04-04 16:56:55
【问题描述】:

我这样创建 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 一样

【问题讨论】:

标签: java selenium-webdriver


【解决方案1】:

在您的项目下创建一个文件夹并将 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】:

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

    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
    

    这是一个非常重复的问题。谷歌。

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

    希望对你有帮助。

    【讨论】:

      【解决方案3】:

      基于文档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;
      

      【讨论】:

        猜你喜欢
        • 2021-05-20
        • 1970-01-01
        • 2018-07-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-03
        • 2014-02-15
        相关资源
        最近更新 更多