Partager via


Utiliser Internet Explorer Driver pour automatiser le mode IE dans Microsoft Edge

Si vous avez des applications ou des sites web hérités critiques pour l’entreprise, vous devrez peut-être tester votre contenu en mode Internet Explorer (IE) dans Microsoft Edge. Cet article explique comment bien démarrer avec Internet Explorer Driver (IEDriver) pour automatiser le mode IE dans Microsoft Edge.

Le mode Internet Explorer dans Microsoft Edge est une fonctionnalité destinée aux organisations qui ont encore besoin d’Internet Explorer 11 pour assurer la compatibilité descendante des applications ou sites web hérités. Pour en savoir plus sur le mode IE, consultez Qu’est-ce que le mode Internet Explorer (IE) ?

À compter du 15 juin 2022, Internet Explorer 11 ne sera plus pris en charge sur certaines versions de Windows 10. Pour plus d’informations, consultez Forum aux questions sur la mise hors service des applications de bureau Internet Explorer 11.

Télécharger Internet Explorer Driver (IEDriver)

Pour commencer à automatiser les tests en mode IE dans Microsoft Edge, téléchargez IEDriver. Assurez-vous que la version d’IEDriver que vous téléchargez est 4.0.0.0 ou supérieure.

La section IEDriver de la page Téléchargements pour Selenium

Configuration requise

Pour configurer correctement IEDriver, Windows et Microsoft Edge, remplissez les conditions requises pour la configuration requise de Selenium.

Placer le fichier exécutable du pilote dans le chemin d’accès

Le fichier exécutable du pilote doit être placé dans le chemin d’accès ; consultez Serveur de pilote IE. Le haut de cette page indique : « L’exécutable du serveur autonome doit être téléchargé à partir de la page Téléchargements et placé dans votre chemin d’accès . »

Si l’emplacement du pilote n’est pas inclus dans path, vous devez définir l’emplacement du pilote à l’aide de la propriété webdriver.ie.driver système Java ou d’une autre manière.

Automatiser le mode IE dans Microsoft Edge

Les sections suivantes vous guident tout au long de l’utilisation de Selenium pour automatiser le mode IE dans Microsoft Edge.

Cet article fournit des instructions sur l’utilisation de l’infrastructure Selenium, mais vous pouvez utiliser n’importe quelle bibliothèque, infrastructure et langage de programmation prenant en charge WebDriver. Pour accomplir les mêmes tâches à l’aide d’une autre infrastructure, consultez la documentation de l’infrastructure de votre choix.

Pour lancer Microsoft Edge en mode IE avec IEDriver :

  1. Définissez InternetExplorerOptions avec des propriétés supplémentaires qui pointent vers le navigateur Microsoft Edge.

  2. Démarrez un instance de InternetExplorerDriver et passez-le InternetExplorerOptions. IEDriver lance Microsoft Edge, puis charge votre contenu web en mode Internet Explorer.

La section suivante montre l’exemple complet, puis les sections suivantes se concentrent sur chacune des étapes main répertoriées ci-dessus.

L’exemple complet

L’exemple suivant lance Microsoft Edge en mode IE, accède à bing.com, puis recherche « 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();
        }
    }
}

Les sections suivantes expliquent plus en détail les étapes de cet exemple.

Définir InternetExplorerOptions avec des propriétés supplémentaires pour Microsoft Edge

Définissez InternetExplorerOptions avec des propriétés supplémentaires qui pointent vers le navigateur Microsoft Edge.

  1. Définissez une nouvelle variable, ieOptions, en appelant InternetExplorerOptions().

  2. Définissez ieOptions.AttachToEdgeChrome la propriété sur true, et ieOptions.EdgeExecutablePath sur le chemin d’accès de l’exécutable Microsoft Edge.

var ieOptions = new InternetExplorerOptions();
ieOptions.AttachToEdgeChrome = true;
//change the path accordingly
ieOptions.EdgeExecutablePath = "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe";

Démarrer IEDriver

Démarrez IEDriver. IEDriver lance Microsoft Edge, puis charge votre contenu web en mode Internet Explorer.

Démarrez et passez-le InternetExplorerDriver le défini ieOptionsprécédemment. IEDriver lance Microsoft Edge en mode IE. Toutes les navigations de page et les interactions suivantes se produisent en mode IE.

var driver = new InternetExplorerDriver(ieOptions);

Limitations connues

Cette section couvre les scénarios connus qui fonctionnaient précédemment avec IEDriver et l’application de bureau IE11, mais qui nécessitent des solutions de contournement lors de l’utilisation d’IEDriver avec Microsoft Edge en mode IE.

Ouverture d’une nouvelle fenêtre

Si votre code de test crée une fenêtre de navigateur à l’aide de l’une des méthodes suivantes, vous devrez peut-être ajouter une opération d’attente courte par la suite pour vous assurer qu’IEDriver a détecté la nouvelle fenêtre :

  • Ouverture d’une nouvelle fenêtre en appelant window.open à partir de <script> la page.
  • Ouverture d’une nouvelle fenêtre à l’aide de la commande Nouvelle fenêtre webDriver.

Pour vous assurer que la nouvelle fenêtre a été créée correctement et qu’IEDriver l’a détectée, vous devez case activée en permanence le résultat de la commande Obtenir les poignées de fenêtre jusqu’à ce qu’il contienne un handle vers la nouvelle fenêtre.

L’exemple suivant montre un moyen possible d’attendre que de nouveaux handles de fenêtre soient détectés lors de l’ouverture de nouvelles fenêtres.

Une fois que la Click méthode est appelée sur un bouton qui ouvre une nouvelle fenêtre, le code de test doit attendre que driver.WindowHandles contienne le nouveau handle de fenêtre.

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

Création d’onglets et basculement entre les onglets

Si votre code de test bascule entre plusieurs onglets dans la même fenêtre Microsoft Edge, les onglets qui deviennent inactifs peuvent ne pas être inclus dans la liste des handles retournés par Obtenir les handles de fenêtre. Dans l’application de bureau Internet Explorer 11, IEDriver retourne des handles pour tous les onglets d’Internet Explorer, quel que soit l’état d’activation.

Lorsque vous utilisez Microsoft Edge en mode Internet Explorer, si votre test quitte le focus d’un certain onglet et que vous souhaitez pouvoir revenir à cet onglet ultérieurement, vous devez stocker une copie de la poignée de fenêtre de l’onglet.

Voir aussi