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