我正在尝试使用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);
看来您快到了。您需要使用的方法 merge() 从 MutableCapabilities 类的合并 DesiredCapabilities 类型的对象为 InternetExplorerOptions 类型的对象和启动 的webdriver 和 Web客户端 通过传递实例 InternetExplorerOptions 对象,如下所示:
merge()
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);