如何通过Selenium和Java使用setCapability()忽略Internet Explorer的受保护模式设置?

时间:2018-08-07 14:29:28

标签: java selenium selenium-webdriver selenium-iedriver mutablecapabilities

我正在尝试使用IE在Java Selenium中进行测试,但是我的问题是我必须继续在保护模式下配置设置,这是不推荐使用的替代方法 功能

WebDriver driver = new InternetExplorerDriver(cap);

我希望在没有人工干预的情况下实现自动化。我在eclipse中使用此代码,并且在我的代码中根本没有任何作用,以上内容用黄线突出显示了,表示已弃用。那么是否有一个新功能可以实现这一点呢?这就是我一直用于健全性检查的代码

DesiredCapabilities cap = DesiredCapabilities.internetExplorer();
cap.setCapability("nativeEvents", false);
cap.setCapability("unexpectedAlertBehaviour", "accept");
cap.setCapability("ignoreProtectedModeSettings", true);
cap.setCapability("disable-popup-blocking", true);
cap.setCapability("enablePersistentHover", true);
cap.setCapability("ignoreZoomSetting", true);
cap.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);

1 个答案:

答案 0 :(得分:2)

看来您快到了。您需要使用merge()类中的方法MutableCapabilities将对象的 DesiredCapabilities 类型合并到 InternetExplorerOptions 类型的对象中,并启动 WebDriver WebClient 实例,方法如下:传递 InternetExplorerOptions 对象:

DesiredCapabilities cap = DesiredCapabilities.internetExplorer();
cap.setCapability("nativeEvents", false);
cap.setCapability("unexpectedAlertBehaviour", "accept");
cap.setCapability("ignoreProtectedModeSettings", true);
cap.setCapability("disable-popup-blocking", true);
cap.setCapability("enablePersistentHover", true);
cap.setCapability("ignoreZoomSetting", true);
cap.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);
InternetExplorerOptions options = new InternetExplorerOptions();
options.merge(cap);
WebDriver driver = new InternetExplorerDriver(options);
相关问题