运行另一个firefox.exe,而不是默认使用的RemotefoxDriver实现

时间:2016-08-02 14:32:55

标签: java selenium firefox

我使用selenium,我会将selenium与特定文件夹中的firefox.exe一起使用,而不是已经安装的文件夹。为此,我有以下代码:

System.setProperty("webdriver.firefox.bin", "./firefox-sdk/bin/firefox.exe");
    DesiredCapabilities cap = DesiredCapabilities.firefox();

    cap.setBrowserName("firefox");
    driver = new RemoteWebDriver(new URL(node), cap);

代码正在运行,但问题是当我使用setProperty时,它继续在Program Files文件夹中运行firefox而不是spcified文件夹中的那个,我做错了什么?

2 个答案:

答案 0 :(得分:1)

有两种方法可以启动未安装在Program Files中的firefox版本。

方法1:使用FirefoxBinary

File pathToBinary = new File("./firefox-sdk/bin/firefox.exe");
DesiredCapabilities cap = DesiredCapabilities.firefox();
cap.setCapability("firefox_binary", pathToBinary);
driver = new RemoteWebDriver(new URL(node), cap);

方法2:使用webdriver.firefox.bin属性

在这种情况下,您必须在上述路径中安装另一个版本的firefox,然后您可以使用webdriver.firefox.bin

设置属性System.setProperty()

答案 1 :(得分:0)

你必须在webdriver.firefox.bin目录中安装firefox。此安装和默认安装必须不同。

请看一下这个主题:how to use different version of firefox using webdriver?