如何通过Selenium和Java忽略使用setCapability()的Internet Explorer的受保护模式设置?
我正在尝试使用IE在Java硒中进行测试,但是我的问题是我必须继续在保护模式下配置设置,这是不推荐使用的替代方法 功能
I am trying to test in java selenium with IE but my problem is I have to keep on configuring the settings in protected Mode, is the an alternative to the deprecated function
WebDriver driver = new InternetExplorerDriver(cap);
我希望在没有人工干预的情况下实现自动化.我在eclipse中使用此代码,并且在我的代码中完全没有任何作用,以上内容用黄线突出显示了,表示已弃用.因此,有没有一个新功能可以实现这一目标呢?这就是我一直用于健全性检查的代码
As I would like to have this automated without human interaction. I am using this code in eclipse and it has no effect at all in my code the above is stroked out with a yellow line highlighter and that says it has been deprecated. So is there a new function to achieve this here is the code I have been using just for sanity check
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);
似乎您快到了.您需要使用方法 MutableCapabilities 类,将对象的 DesiredCapabilities 类型合并为 InternetExplorerOptions 键入对象,并通过如下所示传递 InternetExplorerOptions 对象来启动 WebDriver 和 WebClient 实例:
It seems you were almost there. You need to use the method merge()
from MutableCapabilities Class to merge the DesiredCapabilities type of object into InternetExplorerOptions type object and initiate the WebDriver and WebClient instance by passing the InternetExplorerOptions object as follows :
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);