一尘不染

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

selenium

我正在尝试使用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);

阅读 626

收藏
2020-06-26

共1个答案

一尘不染

看来您快到了。您需要使用的方法
merge()

MutableCapabilities

类的合并 DesiredCapabilities 类型的对象为 InternetExplorerOptions 类型的对象和启动
的webdriverWeb客户端 通过传递实例 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);
2020-06-26