远程运行便携式Firefox

时间:2016-08-11 09:34:28

标签: java selenium

我需要使用RemoteWebDriver运行可移植 Firefox,但遇到问题:

以下是完美运行的本地运行代码:

FirefoxProfile profile = new FirefoxProfile();
WebDriver driver = new FirefoxDriver(
                     new FirefoxBinary(
                         new File(System.getProperty("user.dir"),
                         "/tools/FirefoxPortable/FirefoxPortable.exe")),profile);       
driver.get("http://google.com");

如何在本地服务器上运行它?有类似的东西:

WebDriver driver = new RemoteWebDriver(DesiredCapabilities.firefox());
driver.get("http://google.com");

1 个答案:

答案 0 :(得分:2)

如果您使用的是RemoteWebDriver,则可以通过以下两种方式设置firefox二进制文件:

  • 您需要将FirefoxBinary设置为DesiredCapabilities

    FirefoxBinary bin = new FirefoxBinary(
                     new File(System.getProperty("user.dir"),
                     "/tools/FirefoxPortable/FirefoxPortable.exe"));
    DesiredCapabilities capabilities = DesiredCapabilities.firefox();
    capabilities.setCapability(FirefoxDriver.BINARY, bin);
    
    WebDriver driver = new RemoteWebDriver(capabilities);
    driver.get("http://google.com");
    
  • 您需要使用selenium-server-standalone-x.jar属性运行-Dwebdriver.firefox.bin,该属性将firefox二进制路径指向:

    java -jar selenium-server-standalone-x.jar -Dwebdriver.firefox.bin="path/to/firefox binary"
    

    现在,您可以使用RemoteWebDriverfirefox实例化为:

    WebDriver driver = new RemoteWebDriver(DesiredCapabilities.firefox());
    driver.get("http://google.com");