Verwenden von WebDriver (Chromium) für die TestautomatisierungUse WebDriver (Chromium) for test automation

Mit WebDriver können Entwickler automatisierte Tests erstellen, welche die Benutzerinteraktion simulieren.WebDriver allows developers to create automated tests that simulate user interaction. WebDriver-Tests und -Simulationen unterscheiden sich in folgenden Punkten von JavaScript-Komponententests.WebDriver tests and simulations differ from JavaScript unit tests in the following ways.

  • Greift auf Funktionen und Informationen zu, die JavaScript in Browsern nicht zur Verfügung stehen.Accesses functionality and information not available to JavaScript running in browsers.
  • Simuliert Benutzerereignisse oder Ereignisse auf Betriebssystemebene genauer.Simulates user events or OS-level events more accurately.
  • Verwaltet mehrere Fenster, Registerkarten und Webseiten in einer einzigen Testsitzung.Manages multiple windows, tabs, and webpages in a single test session.
  • Führt mehrere Sitzungen von Microsoft Edge auf einem bestimmten Computer aus.Runs multiple sessions of Microsoft Edge on a specific machine.

Im folgenden Abschnitt wird beschrieben, wie Sie mit WebDriver für Microsoft Edge (Chromium) beginnen.The following section describes how to get started with WebDriver for Microsoft Edge (Chromium).

Installieren von Microsoft Edge (Chromium)Install Microsoft Edge (Chromium)

Stellen Sie sicher, dass Sie Microsoft Edge (Chromium).Ensure you install Microsoft Edge (Chromium). Um zu bestätigen, dass Microsoft Edge (Chromium) installiert ist, navigieren Sie zu edge://settings/help, und überprüfen Sie, ob die Versionsnummer Version 75 oder höher ist.To confirm that you have Microsoft Edge (Chromium) installed, navigate to edge://settings/help, and verify the version number is version 75 or later.

Herunterladen des Microsoft Edge-TreibersDownload Microsoft Edge Driver

Führen Sie die folgenden Schritte aus, um die Automatisierung von Tests zu starten und sicherzustellen, dass die von Ihnen installierte WebDriver-Version mit Ihrer Browserversion übereinstimmt.To begin automating tests, use the following steps to ensure that the WebDriver version you install matches your browser version.

  1. Navigieren Sie zum Anzeigen der Version von Microsoft Edge zu edge://settings/help.To display the version of Microsoft Edge, navigate to edge://settings/help.

    Die Build-Nummer für Microsoft Edge Canary am 10. Februar 2021

  2. Navigieren Sie zu Microsoft Edge-Treiber, unter dem Abschnitt Downloads, und laden Sie den WebDriver herunter, welcher der Versionsnummer von Microsoft Edge entspricht.Navigate to Microsoft Edge Driver, under the Downloads section, and download the WebDriver that matches the version number of Microsoft Edge.

    Der Abschnitt Downloads zum Microsoft Edge-Treiber

Auswählen einer WebDriver-SprachbindungChoose a WebDriver language binding

Die letzte Komponente, die Sie herunterladen müssen, ist ein sprachspezifischer Client-Treiber, um Ihren Code (Python, Java, C#, Ruby, JavaScript) in Befehle zu übersetzen, die der Microsoft Edge-Treiber in Microsoft Edge (Chromium) ausführt.The last component you must download is a language-specific client driver to translate your code (Python, Java, C#, Ruby, JavaScript) into commands the Microsoft Edge Driver runs in Microsoft Edge (Chromium).

Laden Sie die WebDriver-Sprachbindung Ihrer Wahl herunter.Download the WebDriver language binding of your choice. Das Microsoft Edge-Team empfiehlt Selenium 4.00-alpha07 oder höher, da es Microsoft Edge (Chromium) unterstützt.The Microsoft Edge team recommends Selenium 4.00-alpha07 or later, because it supports Microsoft Edge (Chromium). Sie können Microsoft Edge (Chromium) jedoch in allen älteren Versionen von Selenium steuern, einschließlich der aktuellen stabilen Version von Selenium 3.However, you may control Microsoft Edge (Chromium) in all older versions of Selenium, including the current stable Selenium 3 release.

Wichtig

Wenn Sie zuvor Microsoft Edge (Chromium) mit ChromeDriver und ChromeOptions Klassen automatisiert oder getestet haben, automatisiert oder getestet haben, wird Ihr WebDriver-Code nicht unter Microsoft Edge Version 80 oder höher ausgeführt.If you previously automated or tested Microsoft Edge (Chromium) using ChromeDriver and ChromeOptions classes, your WebDriver code does not run on Microsoft Edge Version 80 or later. Um das Problem zu beheben, aktualisieren Sie Ihre Tests, um die Klasse EdgeOptions verwenden, und laden Sie Microsoft Edge-Treiber herunter.To solve the problem, update your tests to use the EdgeOptions class and download Microsoft Edge Driver.

Verwenden von Selenium 3Use Selenium 3

Wenn Sie [Selenium 3][|::ref1::|]bereits verwenden, verfügen Sie möglicherweise über vorhandene Browsertests und möchten die Abdeckung für Microsoft Edge (Chromium) hinzufügen, ohne Ihre Selenium-Version zu ändern.If you already use [Selenium 3][|::ref1::|], you may have existing browser tests and want to add coverage for Microsoft Edge (Chromium) without changing your version of Selenium. Um mit [Selenium 3][|::ref2::|] automatisierte Tests für Microsoft Edge (EdgeHTML) und Microsoft Edge (Chromium) zu schreiben, installieren Sie das Paket Selenium Tools für Microsoft Edge, um den aktualisierten Treiber zu verwenden.To use [Selenium 3][|::ref2::|] to write automated tests for both Microsoft Edge (EdgeHTML) and Microsoft Edge (Chromium), install the Selenium Tools for Microsoft Edge package to use the updated driver. Die in den Tools enthaltenen Klassen EdgeDriver und EdgeDriverService sind vollständig mit den in Selenium 4 integrierten Äquivalenten kompatibel.The EdgeDriver and EdgeDriverService classes included in the tools are fully compatible with the built-in equivalents in Selenium 4.

Führen Sie die folgenden Schritte aus, um die Selenium Tools für Microsoft Edge und [Selenium 3][|::ref3::|] zu Ihrem Projekt hinzuzufügen.Use the following steps to add the Selenium Tools for Microsoft Edge and [Selenium 3][|::ref3::|] to your project.

  • C#C#
  • PythonPython
  • JavaJava
  • JavaScriptJavaScript

Fügen Sie die Pakete Microsoft.Edge.SeleniumTools und Selenium.WebDriver mithilfe der NuGet CLI oder Visual Studio zu Ihrem .NET-Projekt hinzu.Add the Microsoft.Edge.SeleniumTools and Selenium.WebDriver packages to your .NET project using the NuGet CLI or Visual Studio.

Automatisieren von Microsoft Edge (Chromium) mit WebDriverAutomate Microsoft Edge (Chromium) with WebDriver

Um einen Browser mit WebDriver zu automatisieren, müssen Sie zuerst eine WebDriver-Sitzung mit Ihrer bevorzugten WebDriver-Sprachbindung starten.To automate a browser using WebDriver, you must first start a WebDriver session using your preferred WebDriver language binding. Eine Sitzung ist eine einzelne ausgeführte Instanz eines Browsers, die mithilfe von WebDriver-Befehlen gesteuert wird.A session is a single running instance of a browser controlled using WebDriver commands. Starten Sie eine WebDriver-Sitzung, um eine neue Browserinstanz zu beginnen.Start a WebDriver session to launch a new browser instance. Die gestartete Browserinstanz bleibt geöffnet, bis Sie die WebDriver-Sitzung schließen.The launched browser instance remains open until you close the WebDriver session.

Der folgende Inhalt führt Sie durch die Verwendung von Selenium zum Starten einer WebDriver-Sitzung mit Microsoft Edge (Chromium).The following content walks you through using Selenium to start a WebDriver session with Microsoft Edge (Chromium). Sie können die Beispiele entweder mit Selenium 3 oder 4 ausführen.You may run the examples using either Selenium 3 or 4. Zur Verwendung mit Selenium 3 muss das Paket Selenium Tools für Microsoft Edge installiert sein.To use with Selenium 3, the Selenium Tools for Microsoft Edge package must be installed.

Automatisieren von Microsoft Edge (Chromium)Automate Microsoft Edge (Chromium)

Selenium verwendet die Klasse EdgeDriver, zum Verwalten einer Microsoft Edge (Chromium)-Sitzung.Selenium uses the EdgeDriver class to manage a Microsoft Edge (Chromium) session. Um eine Sitzung zu starten und Microsoft Edge (Chromium) zu automatisieren, erstellen Sie ein neues EdgeDriver Objekt, und übergeben Sie es an ein EdgeOptions mit der festgelegten Eigenschaft true.To start a session and automate Microsoft Edge (Chromium), create a new EdgeDriver object and pass it an EdgeOptions object with the UseChromium property set to true.

  • C#C#
  • PythonPython
  • JavaJava
  • JavaScriptJavaScript

var options = new EdgeOptions();
options.UseChromium = true;

var driver = new EdgeDriver(options);

Hinweis

Wenn Ihr IT-Administrator die DeveloperToolsAvailability-Richtlinie auf 2 festgelegt hat, kann der Microsoft Edge-Treiber Microsoft Edge (Chromium) nicht steuern, da der Treiber die Microsoft Edge DevTools verwendet.If your IT admin has set the DeveloperToolsAvailability policy to 2, Microsoft Edge Driver is blocked from driving Microsoft Edge (Chromium), because the driver uses the Microsoft Edge DevTools. Stellen Sie sicher, dass die DeveloperToolsAvailability-Richtlinie auf 0 oder 1 festgelegt ist, um Microsoft Edge (Chromium) zu automatisieren.Ensure the DeveloperToolsAvailability policy is set to 0 or 1 to automate Microsoft Edge (Chromium).

Auswählen bestimmter Browser-Binärdateien (nur Chromium)Choose Specific Browser Binaries (Chromium-Only)

Sie können eine WebDriver-Sitzung mit bestimmten Microsoft Edge(Chromium)-Binärdateien starten.You may start a WebDriver session with specific Microsoft Edge (Chromium) binaries. Beispielsweise können Sie Tests mit den Microsoft Edge-Vorschaukanälen wie Microsoft Edge Beta ausführen.For example, you may run tests using the Microsoft Edge preview channels such as Microsoft Edge Beta.

  • C#C#
  • PythonPython
  • JavaJava
  • JavaScriptJavaScript

var options = new EdgeOptions();
options.UseChromium = true;
options.BinaryLocation = @"C:\Program Files (x86)\Microsoft\Edge Beta\Application\msedge.exe";

var driver = new EdgeDriver(options);

Anpassen des Microsoft Edge-TreiberdienstsCustomize the Microsoft Edge Driver Service

  • C#C#
  • PythonPython
  • JavaJava
  • JavaScriptJavaScript

Wenn Sie die EdgeOptions Klasse zum Erstellen einer EdgeDriver Klasseninstanz verwenden, wird die entsprechende EdgeDriverService Klasse entweder für Microsoft Edge (EdgeHTML) oder Microsoft Edge (Chromium) erstellt und gestartet.When you use the EdgeOptions class to create an EdgeDriver class instance, it creates and launches the appropriate EdgeDriverService class for either Microsoft Edge (EdgeHTML) or Microsoft Edge (Chromium).

Wenn Sie einen EdgeDriverService erstellen möchten, verwenden Sie die CreateChromiumService()-Methode, um eine für Microsoft Edge (Chromium) konfigurierte Methode zu erstellen.If you want to create an EdgeDriverService, use the CreateChromiumService() method to create one configured for Microsoft Edge (Chromium). Die CreateChromiumService() Methode ist nützlich, wenn Sie Anpassungen hinzufügen müssen.The CreateChromiumService() method is useful when you need to add customizations. Der folgende Code startet beispielsweise die ausführliche Protokollausgabe.For example, the following code starts verbose log output.

using (var service = EdgeDriverService.CreateChromiumService())
{
    service.UseVerboseLogging = true;

    var driver = new EdgeDriver(service);
}

Hinweis

Sie müssen das EdgeOptions Objekt nicht bereitstellen, wenn Sie EdgeDriverService an die Instanz EdgeDriver übergeben.You do not need to provide the EdgeOptions object when you pass EdgeDriverService to the EdgeDriver instance. Die EdgeDriver Klasse verwendet die Standardoptionen für Microsoft Edge (EdgeHTML) oder Microsoft Edge (Chromium), basierend auf dem von Ihnen angebotenen Dienst.The EdgeDriver class uses the default options for either Microsoft Edge (EdgeHTML) or Microsoft Edge (Chromium) based on the service you provide.
Wenn Sie jedoch sowohl EdgeDriverService als auch EdgeOptions Klassen bereitstellen möchten, stellen Sie sicher, dass beide für die gleiche Version von Microsoft Edge konfiguriert sind.However, if you want to provide both EdgeDriverService and EdgeOptions classes, ensure that both are configured for the same version of Microsoft Edge. Beispielsweise können Sie eine EdgeDriverService Standardklasse für Microsoft Edge (EdgeHTML) Chromium-Eigenschaften in der EdgeOptions Klasse verwenden.For example, you may use a default Microsoft Edge (EdgeHTML) EdgeDriverService class and Chromium properties in the EdgeOptions class. Die EdgeDriver Klasse gibt einen Fehler aus, um die Verwendung unterschiedlicher Versionen zu verhindern.The EdgeDriver class throws an error to prevent using different versions.

Verwenden von Chromium-spezifischer OptionenUse Chromium-Specific Options

Wenn Sie die UseChromium Eigenschaft auf true festlegen, können Sie die EdgeOptions Klasse verwenden, um auf dieselben Chromium-spezifischen Eigenschaften und Methoden zu zugreifen, die beim Automatisieren anderer Chromium-Browser verwendet werden.If you set the UseChromium property to true, you may use the EdgeOptions class to access the same Chromium-specific properties and methods that are used when you automate other Chromium browsers.

  • C#C#
  • PythonPython
  • JavaJava
  • JavaScriptJavaScript

var options = new EdgeOptions();
options.UseChromium = true;
options.AddArgument("headless");
options.AddArgument("disable-gpu");

Hinweis

Wenn die UseChromium Eigenschaft auf true festgelegt ist, können Sie keine Eigenschaften und Methoden für Microsoft Edge (EdgeHTML) verwenden.If the UseChromium property is set to true, you are not able to use properties and methods for Microsoft Edge (EdgeHTML).

Andere WebDriver-InstallationsoptionenOther WebDriver installation options

ChocolateyChocolatey

Wenn Sie Chocolatey als Paketmanager verwenden, führen Sie den folgenden Befehl aus, um den Microsoft Edge-Treiber zu installieren.If you use Chocolatey as your package manager, run the following command to install the Microsoft Edge Driver.

choco install selenium-chromium-edge-driver

Weitere Informationen finden Sie unter Selenium Chromium Edge-Treiber auf Chocolatey.For more information, navigate to Selenium Chromium Edge Driver on Chocolatey.

DockerDocker

Wenn Sie Docker verwenden, führen Sie den folgenden Befehl aus, um ein vorkonfiguriertes Image mit vorinstalliertem Microsoft Edge (Chromium) und Microsoft Edge-Treiber herunterzuladen.If you use Docker, run the following command to download a pre-configured image with Microsoft Edge (Chromium) and Microsoft Edge Driver pre-installed.

docker run -d -p 9515:9515 mcr.microsoft.com/msedge/msedgedriver

Weitere Informationen finden Sie im msedgedriver-Container auf Docker Hub.For more information, navigate to the msedgedriver container on Docker Hub.

Nächste SchritteNext steps

Um mehr über WebDriver und das Schreiben automatisierter WebDriver-Tests mit Selenium zu erfahren, navigieren Sie zur Selenium-Dokumentation.To learn more about WebDriver and how to write automated WebDriver tests using Selenium, navigate to the Selenium documentation.

Mit dem Microsoft Edge-Entwicklungstools-Team Kontakt aufnehmenGetting in touch with the Microsoft Edge DevTools team

Das Microsoft Edge-Team freut sich über Ihr Feedback zur Verwendung von WebDriver, Selenium und Microsoft Edge.The Microsoft Edge team is eager to hear your feedback about using WebDriver, Selenium, and Microsoft Edge. Um dem Team Ihre Fragen und Kommentare zu senden, wählen Sie das Symbol Feedback senden in den Microsoft Edge DevTools aus, oder senden Sie einen Tweet @EdgeDevTools.To send the team your questions and comments, choose the Send Feedback icon in the Microsoft Edge DevTools or send a tweet @EdgeDevTools.

Das Symbol „Feedback senden“ in den Microsoft Edge-Entwicklungstools