Microsoft Edge Chromium For Linux



'No one asked Microsoft to port its Edge browser to Linux,' writes Steven J. Vaughan-Nichols at ZDNet, adding 'Indeed, very few people asked for Edge on Windows. 'But, here it is. So, how good — or not — is it.?' The new release comes ready to run on Ubuntu, Debian, Fedora, and ope. MICROSOFT SOFTWARE SUPPLEMENTAL LICENSE AGREEMENT MICROSOFT EDGE PLEASE NOTE: Refer to your license terms for Microsoft Edge software (the “software”) to identify the entity licensing this supplement to you and for support information. You may use a copy of this supplement with each validly licensed copy of the software.

-->

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.

  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

Microsoft

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

For

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.

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

Microsoft Edge Chromium For Linux Download

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.

Microsoft

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

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.

Microsoft Edge Chromium For Linux Operating System

Note

Microsoft Edge Chromium For Linux

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.

When Microsoft announced plans to rebase its Edge browser on Chromium the chance of a dedicated Linux build went from pipe-dream to inevitability.

Chromium’s cross-platform codebase makes it the ideal foundation on which to build out a modern web browser. Three years since rumours first began swirling, Microsoft Edge for Linux is not only confirmed but it’s almost ready for testing.

Being the impatient sort we installed the Microsoft Edge Developer build on Ubuntu 20.10. This post will stop short of being a “review” per se (you’ll hear throughout this post: this is not a stable build) but I’ve included lots of screenshots and some general thoughts about how well the browser integrates with the default Ubuntu desktop.

Microsoft Edge for Linux Developer Build

Did I ever think I’d be writing a post about Microsoft’s flagship web browser being available for Linux? Heck no! And yet, here we are!

Many teeth have been gnashed over the point and purpose of a Microsoft-made web browser on a Linux platform. Some see Edge’s arrival as the latest bouquet in Microsoft’s blooming relationship with Linux and all things open source, but others? Well, they smell suspicion…

For their part Microsoft says its “motive” in bringing Edge to Linux is simply about making its technologies and services available to more users. Yes, even if they don’t run its Windows software (which is, after all, just one product/service in its portfolio).

Microsoft’s heavy presence in business, enterprise, and (increasingly) developer communities also plays a part. People who have to use Microsoft services at work get the chance to use the tech they’re familiar with and/or sync’d up with at home, on their Linux laptop, if they want.

But is there anything to interest casual Linux users too?

Edge is more than a Chrome clone; Microsoft had imbued Edge with custom touches and novel feature integrations. While many of these may sound superfluous to power-users they do, on other systems, round out the browser’s feature set.

Or to put it another way: Edge is a mass-market, all-user browser. It’s not aimed exclusively at any one audience, be that web developers, power users, or computer noobs.

So some of its “Added Value” may sound minor, trivial, or frivolous. Take Collections, for instance. This is essential just a souped-up bookmarking tool that lets you save content — not just web links — directly to the browser for future use.

Chromium Edge On Linux

You can create multiple collections in Edge, rename them, add notes to them, and export all of that data to other services (or copy of the links to the system clipboard).

On to integration. The Edge app launcher in the Ubuntu Dock does have a small right-click quicklist. This offers fast access to options to open a new window, a new incognito window, or quit the browser.

Sadly the Edge browser (like other Chromium browsers) does not use the system title/window bar by default. Edge draws its own window bar on Linux, with its own window control icons.

While the pale-grey bar Edge wears is not terribly distracting (unlike Vivaldi’s gaudy red window frame) some kind of GTK inheriting/colour detection (even if only an option) would be welcomed, I’m sure.

And Microsoft Account sync does not work in this build — but if you read this site regularly that will not be a surprise.

The good news is that many of Edge’s other features — yes, snarkypants, it does have some! — are present.

We’ve already touched on Collections, but there’s also an ‘immersive reader’ mode; integration with Bing; optional dark mode; web screenshot tool; and a variety of different New Tab page layouts (ranging from cluttered to calm);

Edge for linux

Microsoft Edge Chromium For Linux Windows 10

You can install Chrome extensions on Edge easily. The first time you visit the Chrome Web Store using the browser it asks if you want to enable Chrome extension installs.

While I can’t vouch for the entirety of Chrome’s extension catalogue, all of the extensions I tried (yes, including the omg! ubuntu! one) worked as expected, as you can see above!

For an early version of Edge for Linux the browser feels fairly robust. It didn’t crash once during my test. Everything I asked of it, it did. From HD YouTube playback, to translating a Portuguese web page, to letting me play web games.

The app is fast to open and responsive in use. If Microsoft can maintain the friction-free feel it could win some new fans. Firefox isn’t slow, but a Chromium-based backend just feels so much faster in use (to me, anyhow).

Download Edge for Linux Dev Build

Want to try things out for yourself? We have a guide on how to install Edge on Ubuntu.

It’s not yet clear when Edge for Linux will go stable, but Microsoft has formally announced that it’s in developer preview. You can Linux builds on this Microsoft repo page.

Microsoft Edge Chromium For Linux Operating System

If you jump on Edge for some early-bird testing just keep in mind that it is development software. It’s not finished. It’s not stable. Heck, it’s not even fully functional. Ergo, don’t get irate about any issues you encounter!