Поделиться через


Использование 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 на странице

Требуемая конфигурация

Чтобы правильно настроить 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, выполните приведенные далее действия.

  1. Определите InternetExplorerOptions с помощью дополнительных свойств, указывающих на браузер Microsoft Edge.

  2. Запустите экземпляр 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.

  1. Определите новую переменную , ieOptionsвызвав .InternetExplorerOptions()

  2. Задайте 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, если тест переключает фокус с определенной вкладки и вы хотите вернуться к этой вкладке позже, необходимо сохранить копию дескриптора окна вкладки.

См. также