Microsoft Chromium Edge



  1. Microsoft Chromium Edge Review
  2. Microsoft Chromium Edge Download
  3. Microsoft Chromium Edge Mac
  4. Chromium Web Browser Edge

Microsoft provides four options, called channels, to manage how often Microsoft Edge is updated with new features. The Microsoft Edge team plans to push public updates to the Beta and Stable channels every six weeks. For more information about our channels, their release cycle, and support levels, see the Channel overview. The new Microsoft Edge (Chromium) is built on the same underlying technology as Google Chrome to offer world class compatibility and performance for your favorite websites and extensions. It is simple to manage, comes with security and privacy controls you’d expect from Microsoft, and has productivity and accessibility tools for the classroom like Immersive Reader.

-->

An extension is a small program that you (a developer) use to add or modify features for Microsoft Edge (Chromium). An extension is intended to improve a user's day-to-day browsing experience. It provides niche functionality that is important to a target audience.

You may create an extension if you have an idea or product that is based upon either of the following conditions.

  • A specific web browser.
  • Improvements to features of specific webpages.

Examples of companion experiences include ad blockers and password managers.

An extension is structured similar to a regular web app. At a minimum, it should include the following features.

  • An app manifest JSON file that contains basic platform information.
  • A JavaScript file that define functionality.
  • HTML and CSS files that define the user interface.

To work directly with part of the browser, such as a window or tab, you must send API requests and often reference the browser by name.

Microsoft Chromium Edge Review

Basic guidance

Some of the most popular browsers to build extensions for include Safari, Firefox, Chrome, Opera, Brave, and Microsoft Edge. Great places to begin your extension development tutorials and documentation research are sites hosted by the browser organizations. The following table isn't definitive, and may be used as a starting point.

Web browserChromium-based?Extension development webpage
SafariNodeveloper.apple.com/documentation/safariservices/safari_app_extensions
FirefoxNodeveloper.mozilla.org/docs/Mozilla/Add-ons/WebExtensions
ChromeYesdeveloper.chrome.com/extensions
OperaYesdev.opera.com/extensions
BraveYesUses Chrome Web Store
new Microsoft EdgeYesdeveloper.microsoft.com/microsoft-edge/extensions

Important

Many of the tutorials of the sites use browser-specific APIs that may not match the browser for which you develop. In most cases, a Chromium extension works as-is in different Chromium browsers and the APIs work as expected. Only some less common APIs may be strictly browser-specific. For links to the tutorials, navigate to See also.

Why Chromium?

If your goal is to publish your extension in the extensions store for each browser, it must be modified for each version to target and run in each distinct browser environment. For example, Safari extensions may use both web and native code to communicate with counterpart native applications. The last four browsers in the previous table use the same code package, and minimizes the requirement to maintain parallel versions. These browsers are based on the Chromium open-source project.

Create a Chromium extension to write the least amount of code. It also targets the maximum number of extension stores and ultimately the maximum number of users who find and acquire your extension.

The following content focuses mostly on Chromium extensions.

Browser compatibility and extension testing

Occasionally, API parity doesn't exist between Chromium browsers. For example, there are differences in the identity and payment APIs. To ensure your extension meets customer expectations, review API status through the following official browser docs.

The APIs you require define the changes you must make to address the differences between each browser. It may mean that you must create slightly different code packages with small differences for each store.

To test your extension in different environments before you submit it to a browser store, sideload it into your browser while you develop it.

Publish your extension to browser stores

You may submit and seek browser extensions in the following browser stores.

Some stores allow you to download listed extensions from other browsers. However, cross-browser access is not guaranteed by browser stores. To ensure your users find your extension in different browsers, you should maintain a listing on each browser extension store.

Users may need to install your extension in different browsers. In this scenario, you may migrate existing Chromium extensions from one browser to another.

Migrate an existing extension to Microsoft Edge

If you've already developed an extension for another Chromium browser, you may submit it to the Microsoft Edge Add-ons store. You don't need to rewrite your extension, and must verify it works in Microsoft Edge. When you migrate an existing Chromium extension to other Chromium browsers, ensure the same APIs or alternatives are available for your target browser.

For more information on porting your Chrome extension to Microsoft Edge, navigate to Port Chrome extensions to Microsoft Edge (Chromium). After you port your extension to the target browser, the next step is to publish it.

Publish to the Microsoft Edge add-ons website

To start publishing your extension to Microsoft Edge, you must register for a developer account with an MSA email account to submit your extension listing to the store. An MSA email account includes @outlook.com, @live.com, and so on. When you choose an email address to register, consider if you must transfer or share ownership of the extension with others in your organization. After registration is complete, you may create a new extension submission to the store.

To submit your extension to the store, ensure you provide the following items.

  • An archive (.zip) file that contains your code files.
  • All required visual assets, which include a logo and small promotional tile.
  • Optional promotional media, such as screenshots, promotional tiles, and a video URL.
  • Information that describes your extension such as the name, short description, and a privacy policy link.

Note

Different stores may have different submission requirements. The above list summarizes the requirements to publish an extension for Microsoft Edge.

After you've successfully submitted your extension, your extension undergoes a review process and either passes or fails the certification process. Owners are notified of the outcome and given next steps as required. If you submit an extension update to the store, a new review process is started.

See also

-->

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

Microsoft Chromium Edge

To begin automating tests, use the following steps to ensure that the WebDriver version you install matches your browser version.

  1. Find your version of Microsoft Edge.

    1. Navigate to edge://settings/help.

  2. Navigate to Microsoft Edge Driver.

  3. Navigate to Get the latest version.

  4. 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 Chromium Edge 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.

Chromium

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)

Microsoft Chromium Edge

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).

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.

Microsoft Chromium Edge Mac

Getting in touch with the Microsoft Edge DevTools team

Chromium Web Browser Edge

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.