Selenium / Java如果已经接受了其他一些参数,我如何将所需的功能传递给FireFoxDriver?

时间:2013-08-02 10:02:18

标签: java selenium webdriver

这是我目前的代码:

FirefoxBinary ffox = new FirefoxBinary(firefoxPath);
ffox.setEnvironmentProperty("DISPLAY", ":20");
driver = new FirefoxDriver(ffox, null);

但我还需要将其添加到DRIVER:

DesiredCapabilities dc=new DesiredCapabilities();
dc.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR,UnexpectedAlertBehaviour.ACCEPT);
driver =new FirefoxDriver(dc);

在第一段代码中,DRIVER已经采用了2个参数,我该如何添加这个参数呢?

1 个答案:

答案 0 :(得分:2)

FirefoxBinary ffox = new FirefoxBinary(firefoxPath);
ffox.setEnvironmentProperty("DISPLAY", ":20");
driver = new FirefoxDriver(ffox, null);

您当前的代码正在创建FirefoxBinary的实例,在其中设置一些属性,然后将其与null一起传递到FirefoxDriver构造函数中。

这与FirefoxBinaryFirefoxProfile构造函数匹配。

还有另一个构造函数允许您传递一组DesiredCapabilites,以及您目前获得的内容:

FirefoxBinary ffox = new FirefoxBinary(firefoxPath);
ffox.setEnvironmentProperty("DISPLAY", ":20");
DesiredCapabilities dc =new DesiredCapabilities();
dc.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR,UnexpectedAlertBehaviour.ACCEPT);
driver = new FirefoxDriver(ffox, null, dc);

(未经测试的代码)。