How to ignore protected Mode Settings for Internet Explorer using setCapability() through Selenium and Java?
Asked Answered
K

2

1

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);

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);
Krispin answered 7/8, 2018 at 14:29 Comment(0)
V
5

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);
Vlaminck answered 7/8, 2018 at 20:0 Comment(0)
B
0

Thanks to the answer from DebanjanB, this was what I required. But I was getting some error on DesiredCapabilities.internetExplorer(); part, here is what worked for me:

     InternetExplorerOptions cap = new InternetExplorerOptions();
     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);
     WebDriver driver = new InternetExplorerDriver(cap);
Beccafico answered 12/11, 2021 at 22:26 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.