Freigeben über


Verwenden des Internet Explorer-Treibers zum Automatisieren des IE-Modus in Microsoft Edge

Wenn Sie über unternehmenskritische Legacywebsites oder -apps verfügen, müssen Sie Ihre Inhalte möglicherweise im Internet Explorer(IE)-Modus in Microsoft Edge testen. In diesem Artikel wird beschrieben, wie Sie mit internet Explorer Driver (IEDriver) beginnen, um den IE-Modus in Microsoft Edge zu automatisieren.

Der IE-Modus in Microsoft Edge ist ein Feature für Organisationen, die das Internet Explorer 11 zur Abwärtskompatibilität für Ältere Websites oder Apps benötigen. Weitere Informationen zum IE-Modus finden Sie unter Was ist der Internet-Explorer-Modus?.

Ab dem 15. Juni 2022 wird Internet Explorer 11 in bestimmten Versionen von Windows 10 nicht mehr unterstützt. Weitere Informationen finden Sie unter Internet Explorer 11 – Häufig gestellte Fragen zur Deaktivierung von Desktop-Apps.

Internet Explorer-Treiber herunterladen (IEDriver)

Laden Sie IEDriver herunter, um mit der Automatisierung von Tests im IE-Modus in Microsoft Edge zu beginnen. Stellen Sie sicher, dass die Version von IEDriver, die Sie herunterladen, oder höher ist 4.0.0.0 .

Der Abschnitt

Erforderliche Konfiguration

Um IEDriver, Windows und Microsoft Edge ordnungsgemäß zu konfigurieren, müssen Sie die Anforderungen für die erforderliche Konfiguration von Selenium erfüllen.

Platzieren Sie die ausführbare Datei des Treibers im PFAD.

Die ausführbare Datei des Treibers muss im PFAD platziert werden. Siehe IE-Treiberserver. Oben auf dieser Seite lautet: "Die ausführbare Datei des eigenständigen Servers muss von der Seite Downloads heruntergeladen und in Ihrem PFAD platziert werden."

Wenn der Treiberspeicherort nicht im PFAD enthalten ist, müssen Sie den Treiberspeicherort mithilfe der Java-Systemeigenschaft webdriver.ie.driver oder auf andere Weise festlegen.

Automatisieren des IE-Modus in Microsoft Edge

Die folgenden Abschnitte führen Sie durch die Verwendung von Selenium zum Automatisieren des IE-Modus in Microsoft Edge.

Dieser Artikel enthält Anweisungen zur Verwendung des Selenium-Frameworks. Sie können jedoch jede Bibliothek, jedes Framework und jede Programmiersprache verwenden, die WebDriver unterstützt. Informationen zum Ausführen der gleichen Aufgaben mithilfe eines anderen Frameworks finden Sie in der Dokumentation für das Framework Ihrer Wahl.

So starten Sie Microsoft Edge im IE-Modus mit IEDriver:

  1. Definieren Sie InternetExplorerOptions mit zusätzlichen Eigenschaften, die auf den Microsoft Edge-Browser verweisen.

  2. Starten Sie eine instance von , InternetExplorerDriver und übergeben Sie ihnInternetExplorerOptions. IEDriver startet Microsoft Edge und lädt dann Ihre Webinhalte im IE-Modus.

Der nächste Abschnitt zeigt das vollständige Beispiel, und dann konzentrieren sich die nachfolgenden Abschnitte auf die einzelnen oben aufgeführten Standard Schritte.

Das vollständige Beispiel

Im folgenden Beispiel wird Microsoft Edge im IE-Modus gestartet, zu bing.com navigiert und dann nach "WebDriver" gesucht.

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

In den folgenden Abschnitten werden die Schritte in diesem Beispiel ausführlicher erläutert.

Definieren von InternetExplorerOptions mit zusätzlichen Eigenschaften für Microsoft Edge

Definieren Sie InternetExplorerOptions mit zusätzlichen Eigenschaften, die auf den Microsoft Edge-Browser verweisen.

  1. Definieren Sie eine neue Variable, ieOptions, indem Sie aufrufen InternetExplorerOptions().

  2. Legen Sie die Eigenschaft auf trueund ieOptions.EdgeExecutablePath auf den Pfad der ausführbaren Microsoft Edge-Datei festieOptions.AttachToEdgeChrome.

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

Starten von IEDriver

Starten Sie IEDriver. IEDriver startet Microsoft Edge und lädt dann Ihre Webinhalte im IE-Modus.

Starten Sie InternetExplorerDriver sie, und übergeben Sie ihn an den zuvor definierten ieOptions. IEDriver startet Microsoft Edge im IE-Modus. Alle Seitennavigation und nachfolgende Interaktionen erfolgen im IE-Modus.

var driver = new InternetExplorerDriver(ieOptions);

Bekannte Einschränkungen

In diesem Abschnitt werden bekannte Szenarien behandelt, die zuvor mit IEDriver und der IE11-Desktopanwendung funktionierten, bei verwendung von IEDriver mit Microsoft Edge im IE-Modus jedoch Problemumgehungen erfordern.

Öffnen eines neuen Fensters

Wenn Ihr Testcode mit einer der folgenden Methoden ein neues Browserfenster erstellt, müssen Sie möglicherweise anschließend einen kurzen Wartevorgang hinzufügen, um sicherzustellen, dass IEDriver das neue Fenster erkannt hat:

  • Öffnen sie ein neues Fenster, indem Sie window.open von <script> auf der Seite aufrufen.
  • Öffnen eines neuen Fensters mithilfe des WebDriver-Befehls Neues Fenster .

Um sicherzustellen, dass das neue Fenster erfolgreich erstellt wurde und IEDriver es erkannt hat, müssen Sie das Ergebnis des Befehls Fensterhandles abrufen kontinuierlich überprüfen, bis es ein Handle für das neue Fenster enthält.

Im folgenden Beispiel wird eine mögliche Möglichkeit veranschaulicht, auf das Erkennen neuer Fensterhandles zu warten, wenn neue Fenster geöffnet werden.

Nachdem die Click -Methode für eine Schaltfläche aufgerufen wurde, die ein neues Fenster öffnet, muss der Testcode warten, bis driver.WindowHandles das neue Fensterhandle enthält.

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

Erstellen von Registerkarten und Wechseln zwischen Registerkarten

Wenn Ihr Testcode zwischen mehreren Registerkarten im selben Microsoft Edge-Fenster wechselt, sind Registerkarten, die inaktiv werden, möglicherweise nicht in der Liste der Handles enthalten, die von Get Window Handles zurückgegeben werden. In der Internet Explorer 11-Desktopanwendung gibt IEDriver Handles für alle Registerkarten in IE zurück, unabhängig vom Aktivierungsstatus.

Wenn Sie Microsoft Edge im IE-Modus verwenden und ihr Test den Fokus von einer bestimmten Registerkarte wegwechselt und Sie später wieder zu dieser Registerkarte wechseln möchten, müssen Sie eine Kopie des Fensterhandles der Registerkarte speichern.

Siehe auch