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
.
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:
Definieren Sie
InternetExplorerOptions
mit zusätzlichen Eigenschaften, die auf den Microsoft Edge-Browser verweisen.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.
Definieren Sie eine neue Variable,
ieOptions
, indem Sie aufrufenInternetExplorerOptions()
.Legen Sie die Eigenschaft auf
true
undieOptions.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
- Verwenden von WebDriver zum Automatisieren von Microsoft Edge : Eine Übersicht über die Automatisierung von Microsoft Edge mit dem WebDriver-Protokoll.
- Selenium-Dokumentation : Informationen zu WebDriver im Kontext von Selenium und zum Schreiben automatisierter WebDriver-Tests mit Selenium.
- Wenden Sie sich an das Microsoft Edge DevTools-Team , um Feedback zur Verwendung von WebDriver, WebDriver-Testframeworks (z. B. Selenium) und Microsoft Edge zu senden.