SOLVED

Chromium Edge automation with selenium (best practice)

Copper Contributor

Hi Guys,

 

since ChromiumEdge is now available as a canary and a dev version I am also all to curious about how selenium will come into play as it is basically a chromium browser. What webdriver will people use? Is it the edge driver or the chrome driver or a completely new one? 

 

Also how far off will be automating ChromiumEdge when it comes to coding best practises?

 

Hopefully this is a good start for a thought.

 

Greets,

40 Replies

Hi @mmiky123, thank you for taking the time to play around with the preview channels of the Microsoft Edge browser. We are looking into the automation story for our new browser, and will be talking about it when it is ready.  In the meantime, I have captured your feedback and have given it to the right team.

@mmiky123, I also wanted to let you know that we will have an MSEdgeDriver available very soon. It will have a download link and should also be in a chocolatey package. For the time being, you can point the ChromeDriver to the msedge.exe binary. One challenge there is that Selenium checks for the Browser version and will throw an error, so you ALSO have to modify the python script in Selenium. If you know how to do that, go for it. If not, you can wait just a little bit of time.

 

-John 

Thank you for the update. I am really looking forward to it. That driver also will be very beneficial for every web dev or people who develop extensions for your browser as it has a stable foundation to work with.

@johnjansen Thank you, I have been looking for the new webdriver for Chromium Edge as well. I have attempted pointing the latest ChromeDriver (74.0.3729.6) at Edge but it appears version checking is being performed by ChromeDriver itself ("unrecognized Chrome version: Edg/75.0.131.0"). Circumventing this would require compiling a new ChromeDriver from the Chrome repo, which at that point it makes more sense to just wait for your dedicated driver.

@DaleRiechert2& for those who are curious - it would require to patch this file [1], like done for the headless mode in [2].

Anyone has already a Chromium build infrastructure set up and can quickly compile such a binary until we have an official build (From my experience it might take a while to wait...)?

 

[1] https://chromium.googlesource.com/chromium/src/+/refs/heads/master/chrome/test/chromedriver/chrome/b...

[2] https://chromium.googlesource.com/chromium/src/+/c75dbfd25cc376b92a494d340259056a01e1432e%5E%21/#F0

@BPascal the official builds will be out today. As soon as we get the links cleaned up and merged, I'll post a link to the download page.

Thanks for the driver. I will have a little go and let you know how it does. Next steps would be to make the driver available via nuget since a lot of automation engineers I know work with those packages rather than downloading it manually and copying it into their automation framework.
So besides renaming the filename to chromedriver since it only seems to detect that name by default everything runs fine with my first hello world test.

@mmiky123 glad to hear that. Yeah, we need to get our language bindings merged into Selenium to avoid the rename. I forgot to mention that. Glad your test worked, though!

It works fine with Java bindings using ChromeDriver and setting the "webdriver.chrome.driver" property.
@johnjansen Are there any plans to include the driver (or Edge) version number in the download urls? From "https://az813057.vo.msecnd.net/webdriver/msedgedriver_x86/msedgedriver.exe" I can see that the driver is for 32bit, but that's it. And as soon as Edge is stable in version 75, Beta in 76, Dev in 77 and canary in another 77 things get messy...

@BPascal that's great feedback, thanks. I will log a bug and make this change so the URL will include the version number that it links to.

@johnjansenGreat. Will the msedgedriver for macOS also be made available for download on the given webpage? Using the standard chromedriver here again fails (as with Windows) with the message:

 

org.openqa.selenium.WebDriverException: unknown error: unrecognized Chrome version: Edg/76.0.151.0

@BPascal yes, there will be a MacOS driver as well.

Wow, you're fast! I'm eagerly looking forward to it.

Hy @johnjansen. I want to ask if you can help me with some information about msedgedriver for macOS. I tried to use msedgedriver with canary for ma os, the versions are the same, but I get an error message on autotest with selenium. There is any info about this, or it will be a stable version (because this one is beta?). Thank you very much for your help. 

@Handariel what is the error you're getting? I have not heard of any errors on Mac yet, so this could be interesting.

@mmiky123 

Please help me understand here, the only action taken here is to rename msedgedriver.exe to chromedriver.exe? Rest entire code remains the same as if we were using chromedriver? If so is the case can you please help me understand what to expect when we launch broswer
? Are we expecting chrome or edge to launch when ran in non headless mode?
Thank you

1 best response

Accepted Solutions
best response confirmed by mmiky123 (Copper Contributor)
Solution

@johnjansen actually it do not open with the edge:  

i installed Edge dev Version 77.0.211.3, and Edge Canary Version 77.0.218.4 too. And I use the Version: 77.0.219.0 driver. My test open chrome, not edge. I tried with chromeoption, with System.setProperty, but still. Can you help me what I do wrong? Thanks! 

View solution in original post