Использование internet Обозреватель Driver для автоматизации режима IE в Microsoft Edge
Если у вас есть критически важные для бизнеса устаревшие веб-сайты или приложения, может потребоваться протестировать содержимое в режиме Internet Обозреватель (IE) в Microsoft Edge. В этой статье описывается, как приступить к работе с драйвером internet Обозреватель (IEDriver) для автоматизации режима IE в Microsoft Edge.
Режим IE в Microsoft Edge — это функция для организаций, которым по-прежнему требуется Интернет Обозреватель 11 для обратной совместимости устаревших веб-сайтов или приложений. Дополнительные сведения о режиме IE см. в статье Что такое режим Обозреватель Интернета (IE)?
Начиная с 15 июня 2022 г. internet Обозреватель 11 больше не будет поддерживаться в некоторых версиях Windows 10. Дополнительные сведения см. в статье Internet Обозреватель 11 классических приложений: вопросы и ответы.
Скачать драйвер Обозреватель Интернета (IEDriver)
Чтобы начать автоматизацию тестов в режиме IE в Microsoft Edge, скачайте IEDriver. Убедитесь, что скачиваемая версия IEDriver или 4.0.0.0
больше.
Требуемая конфигурация
Чтобы правильно настроить IEDriver, Windows и Microsoft Edge, выполните требования к требуемой конфигурации Selenium.
Поместите исполняемый файл драйвера в PATH
Исполняемый файл драйвера должен быть помещен в PATH; см. раздел IE Driver Server. В верхней части этой страницы говорится: "Исполняемый файл автономного сервера должен быть скачан со страницы Загрузки и помещен в ПУТЬ".
Если расположение драйвера не входит в PATH, необходимо задать расположение драйвера с помощью системного свойства webdriver.ie.driver
Java или каким-либо другим способом.
Автоматизация режима IE в Microsoft Edge
В следующих разделах описывается использование Selenium для автоматизации режима IE в Microsoft Edge.
В этой статье приведены инструкции по использованию платформы Selenium, но вы можете использовать любую библиотеку, платформу и язык программирования, поддерживающие WebDriver. Чтобы выполнить те же задачи с помощью другой платформы, обратитесь к документации по выбранной платформе.
Чтобы запустить Microsoft Edge в режиме IE с помощью IEDriver, выполните приведенные далее действия.
Определите
InternetExplorerOptions
с помощью дополнительных свойств, указывающих на браузер Microsoft Edge.Запустите экземпляр
InternetExplorerDriver
и передайте егоInternetExplorerOptions
. IEDriver запускает Microsoft Edge, а затем загружает веб-содержимое в режиме IE.
В следующем разделе показан полный пример, а затем в последующих разделах основное внимание уделяется каждому из main шагов, перечисленных выше.
Полный пример
Следующий пример запускает Microsoft Edge в режиме IE, переходит к bing.com, а затем выполняет поиск по запросу "WebDriver".
using System;
using OpenQA.Selenium;
using OpenQA.Selenium.IE;
namespace IEDriverSample
{
class Program
{
static void Main(string[] args)
{
var ieOptions = new InternetExplorerOptions();
ieOptions.AttachToEdgeChrome = true;
//change the path accordingly
ieOptions.EdgeExecutablePath = "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe";
var driver = new InternetExplorerDriver(ieOptions);
driver.Url = "https://bing.com";
driver.FindElement(By.Id("sb_form_q")).SendKeys("WebDriver");
driver.FindElement(By.Id("sb_form")).Submit();
driver.Quit();
}
}
}
В следующих разделах более подробно описаны действия, описанные в этом примере.
Определение InternetExplorerOptions с дополнительными свойствами для Microsoft Edge
Определите InternetExplorerOptions
с помощью дополнительных свойств, указывающих на браузер Microsoft Edge.
Определите новую переменную ,
ieOptions
вызвав .InternetExplorerOptions()
Задайте
ieOptions.AttachToEdgeChrome
для свойстваtrue
значение , аieOptions.EdgeExecutablePath
— путь к исполняемому файлу Microsoft Edge.
var ieOptions = new InternetExplorerOptions();
ieOptions.AttachToEdgeChrome = true;
//change the path accordingly
ieOptions.EdgeExecutablePath = "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe";
Запуск IEDriver
Запустите IEDriver. IEDriver запускает Microsoft Edge, а затем загружает веб-содержимое в режиме IE.
Запустите InternetExplorerDriver
и передайте ранее определенный ieOptions
объект . IEDriver запускает Microsoft Edge в режиме IE. Все переходы по страницам и последующие взаимодействия выполняются в режиме IE.
var driver = new InternetExplorerDriver(ieOptions);
Известные ограничения
В этом разделе рассматриваются известные сценарии, которые ранее работали с IEDriver и классическим приложением IE11, но требуют обходных решений при использовании IEDriver с Microsoft Edge в режиме IE.
Открытие нового окна
Если тестовый код создает новое окно браузера с помощью одного из следующих методов, вам может потребоваться добавить короткую операцию ожидания, чтобы убедиться, что IEDriver обнаружил новое окно:
- Открытие нового окна путем вызова window.open из
<script>
на странице. - Открытие нового окна с помощью команды WebDriver New Window .
Чтобы убедиться, что новое окно успешно создано и IEDriver обнаружил его, необходимо постоянно проверка результат команды Get Window Handles, пока оно не будет содержать дескриптор для нового окна.
В следующем примере показан возможный способ ожидания обнаружения новых дескрипторов окна при открытии новых окон.
Click
После вызова метода на кнопке, открывающей новое окно, тестовый код должен подождать, пока driver.WindowHandles
не будет содержаться новый дескриптор окна.
var initialHandleCount = driver.WindowHandles.Count;
driver.FindElement(By.Id("<Id of the button that will open a new window>")).Click();
var newHandles = driver.WindowHandles;
while (newHandles.Count == initialHandleCount)
{
newHandles = driver.WindowHandles;
}
Создание вкладок и переключение между ними
Если тестовый код переключается между несколькими вкладками в одном окне Microsoft Edge, вкладки, которые становятся неактивными, могут не включаться в список дескрипторов, возвращаемых командой Get Window Handles. В классическом приложении Internet Обозреватель 11 IEDriver вернет дескриптор для всех вкладок в IE, независимо от состояния активации.
При использовании Microsoft Edge в режиме IE, если тест переключает фокус с определенной вкладки и вы хотите вернуться к этой вкладке позже, необходимо сохранить копию дескриптора окна вкладки.
См. также
- Использование WebDriver для автоматизации Microsoft Edge . Общие сведения об автоматизации Microsoft Edge с помощью протокола WebDriver.
- Документация по Selenium . Сведения о WebDriver в контексте Selenium и о написании автоматизированных тестов WebDriver с помощью Selenium.
- Обратитесь к команде Microsoft Edge DevTools , чтобы отправить отзыв об использовании WebDriver, платформ тестирования WebDriver (например, Selenium) и Microsoft Edge.