New Microsoft Edge Chromium
Automate Microsoft Edge (Chromium) Selenium uses the EdgeDriver class to manage a Microsoft Edge (Chromium) session. 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. Once you have deployed the new Microsoft Edge to your organization, you can configure or restrict updates using the Microsoft Edge Update policies. In the future, we plan to include Microsoft Edge built-in to Windows, to be delivered through a future Windows 10 Feature Update for all customers. Everything you need to know on the new features of new Microsoft Edge Chromium following the 2020 Windows 10 Update, taking a look at video playback, Bing, c. The new Microsoft Edge is based on Chromium and was released on January 15, 2020. It is compatible with all supported versions of Windows, and macOS. With speed, performance, best in class compatibility for websites and extensions, and built-in privacy and security features, it's the only browser you'll ever need.
-->WebDriver allows developers to create automated tests that simulate user interaction. WebDriver tests and simulations differ from JavaScript unit tests in the following ways.
- Accesses functionality and information not available to JavaScript running in browsers.
- Simulates user events or OS-level events more accurately.
- Manages multiple windows, tabs, and webpages in a single test session.
- Runs multiple sessions of Microsoft Edge on a specific machine.
The following section describes how to get started with WebDriver for Microsoft Edge (Chromium).
Install Microsoft Edge (Chromium)
Ensure you install Microsoft Edge (Chromium). To confirm that you have Microsoft Edge (Chromium) installed, navigate to edge://settings/help
, and verify the version number is version 75 or later.
Download Microsoft Edge Driver
To begin automating tests, use the following steps to ensure that the WebDriver version you install matches your browser version.
Find your version of Microsoft Edge.
Navigate to
edge://settings/help
.
Navigate to Microsoft Edge Driver.
Navigate to Get the latest version.
Choose the build of channel that matches your version number of Microsoft Edge.
The Get the latest version section on the Microsoft Edge Driver webpage
Choose a WebDriver language binding
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).
Download the WebDriver language binding of your choice. The Microsoft Edge team recommends Selenium 4.00-alpha07 or later, because it supports Microsoft Edge (Chromium). However, you may control Microsoft Edge (Chromium) in all older versions of Selenium, including the current stable Selenium 3 release.
Important
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. To solve the problem, update your tests to use the EdgeOptions
class and download Microsoft Edge Driver.
Use Selenium 3
If you already use Selenium 3, you may have existing browser tests and want to add coverage for Microsoft Edge (Chromium) without changing your version of Selenium. To use Selenium 3 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. The EdgeDriver
and EdgeDriverService
classes included in the tools are fully compatible with the built-in equivalents in Selenium 4.
Use the following steps to add the Selenium Tools for Microsoft Edge and Selenium 3 to your project.
Microsoft's New Chromium Edge Browser Download
Add the Microsoft.Edge.SeleniumTools and Selenium.WebDriver packages to your .NET project using the NuGet CLI or Visual Studio.
Use pip to install the msedge-selenium-tools and selenium packages.
If your Java project uses Maven, copy and paste the following dependency to your pom.xml
file to add msedge-selenium-tools-java.
The Java package is also available to download directly on the Selenium Tools for Microsoft Edge Releases page.
Use npm to install the edge-selenium-tools and selenium-webdriver packages.
Automate Microsoft Edge (Chromium) with WebDriver
To automate a browser using WebDriver, you must first start a WebDriver session using your preferred WebDriver language binding. A session is a single running instance of a browser controlled using WebDriver commands. Start a WebDriver session to launch a new browser instance. The launched browser instance remains open until you close the WebDriver session.
The following content walks you through using Selenium to start a WebDriver session with Microsoft Edge (Chromium). You may run the examples using either Selenium 3 or 4. To use with Selenium 3, the Selenium Tools for Microsoft Edge package must be installed.
Automate Microsoft Edge (Chromium)
Selenium uses the EdgeDriver
class to manage a Microsoft Edge (Chromium) session. 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
.
The EdgeDriver
class only supports Microsoft Edge (Chromium), and doesn't support Microsoft Edge (EdgeHTML). For basic usage, you may create an EdgeDriver
without providing EdgeOptions
.
Note
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. Ensure the DeveloperToolsAvailability policy is set to 0
or 1
to automate Microsoft Edge (Chromium).
Choose Specific Browser Binaries (Chromium-Only)
You may start a WebDriver session with specific Microsoft Edge (Chromium) binaries. For example, you may run tests using the Microsoft Edge preview channels such as Microsoft Edge Beta.
Customize the Microsoft Edge Driver Service
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).
New Microsoft Edge Chromium
If you want to create an EdgeDriverService
, use the CreateChromiumService()
method to create one configured for Microsoft Edge (Chromium). The CreateChromiumService()
method is useful when you need to add customizations. For example, the following code starts verbose log output.
Note
You do not need to provide the EdgeOptions
object when you pass EdgeDriverService
to the EdgeDriver
instance. The EdgeDriver
class uses the default options for either Microsoft Edge (EdgeHTML) or Microsoft Edge (Chromium) based on the service you provide.
However, if you want to provide both EdgeDriverService
and EdgeOptions
classes, ensure that both are configured for the same version of Microsoft Edge. For example, you may use a default Microsoft Edge (EdgeHTML) EdgeDriverService
class and Chromium properties in the EdgeOptions
class. The EdgeDriver
class throws an error to prevent using different versions.
When you use Python, the Edge
object creates and manages the EdgeService
. To configure the EdgeService
, pass extra arguments to the Edge
object as indicated in the following code.
Use the createDefaultService()
method to create an EdgeDriverService
configured for Microsoft Edge (Chromium). Use Java system properties to customize driver services in Java. For example, the following code uses the 'webdriver.edge.verboseLogging'
property to turn on verbose log output.
When you use JavaScript, create and configure a Service
with the ServiceBuilder
class. Optionally, you may pass the Service
object to the Driver
object, which starts (and stops) the service for you.
To configure the Service
, run another method in the ServiceBuilder
class before you use the build()
method. Then pass the service
as a parameter in the Driver.createSession()
method.
Use Chromium-Specific Options
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.
Note
If the UseChromium
property is set to true
, you are not able to use properties and methods for Microsoft Edge (EdgeHTML).
Other WebDriver installation options
Chocolatey
If you use Chocolatey as your package manager, run the following command to install the Microsoft Edge Driver.
For more information, navigate to Selenium Chromium Edge Driver on Chocolatey.
Docker
If you use Docker, run the following command to download a pre-configured image with Microsoft Edge (Chromium) and Microsoft Edge Driver pre-installed.
For more information, navigate to the msedgedriver container on Docker Hub.
Next steps
For more information about WebDriver and how to write automated WebDriver tests using Selenium, navigate to the Selenium documentation.
Getting in touch with the Microsoft Edge DevTools team
The Microsoft Edge team is eager to hear your feedback about using WebDriver, Selenium, and Microsoft Edge. To send the team your questions and comments, choose the Send Feedback icon in the Microsoft Edge DevTools or send a tweet @EdgeDevTools.