Как игнорировать настройки защищенного режима для Internet Explorer, используя setCapability() через Selenium и Java?

Я пытаюсь протестировать в Java Selen с IE, но моя проблема заключается в том, что я должен продолжать настраивать параметры в защищенном режиме, является альтернативой устаревшей функции

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

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

Благодаря ответу от DebanjanB это было то, что мне нужно. Но я получил некоторую ошибку на DesiredCapabilities.internetExplorer();часть, вот что сработало для меня:

           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);
Другие вопросы по тегам