Как игнорировать настройки защищенного режима для 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);