SOLVED

EdgeDriver (v81) no longer supports ability to pass in DriverService as a parameter

%3CLINGO-SUB%20id%3D%22lingo-sub-1386021%22%20slang%3D%22en-US%22%3EEdgeDriver%20(v81)%20no%20longer%20supports%20ability%20to%20pass%20in%20DriverService%20as%20a%20parameter%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1386021%22%20slang%3D%22en-US%22%3E%3CP%3EHello%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ESince%20Edge%20has%20been%20upgraded%20to%20v80%2C%20it%20has%20introduced%20a%20%22%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fmicrosoft-edge%2Fwebdriver-chromium%3Ftabs%3Dc-sharp%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%22%3Ebreaking%20change%3C%2FA%3E%22%20to%20our%20automation.%20This%20is%20documented%20by%20Microsoft%20in%20the%20attached%20link.%20Ideally%20I%20would%20have%20liked%20to%20remain%20on%20Selenium%203%20and%20use%20the%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fedge-selenium-tools%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%22%3Eedge-selenium-tools%3C%2FA%3E%26nbsp%3Bbut%20given%20that%20my%20framework%20is%20java%20based%20that%20was%20not%20an%20option.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ETo%20resolve%20this%2C%20then%2C%20I%20updated%20to%20Selenium%204%20(alpha%205)%2C%20which%20supports%20v81%20of%20Edge%20Chromium%2C%20but%20only%20to%20an%20extent.%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThe%20ability%20to%26nbsp%3Bpass%20in%20ChromiumEdgeDriverService%2FEdgeDriverService%20(not%20sure%20which%20I%20should%20even%20be%20using%20now)%20as%20a%20parameter%20to%20the%20EdgeDriver%20WebDriver%20has%20been%20%3CA%20href%3D%22https%3A%2F%2Fwww.javadoc.io%2Fdoc%2Forg.seleniumhq.selenium%2Fselenium-edge-driver%2Flatest%2Forg%2Fopenqa%2Fselenium%2Fedge%2Fpackage-summary.html%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%22%3Etaken%20away%3C%2FA%3E.%20This%20is%20something%20I%20rely%20on%20to%20implement%20a%20workaround%20for%20downloads%20in%20headless%20mode%20and%20so%20I%20am%20eager%20to%20restore%20that%20functionality%20ASAP.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20am%20not%20sure%20if%20this%20is%20something%20I%20should%20be%20reporting%20to%20%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2FSeleniumHQ%2Fselenium%2Fissues%2Fnew%2Fchoose%22%20target%3D%22_self%22%20rel%3D%22noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%22%3ESeleniumHQ%3C%2FA%3E%20as%20an%20improvement%20or%20regression%2C%20or%20something%20I%20should%20be%20raising%20with%20yourselves%20but%20I%20am%20looking%20for%20some%20guidance%20on%20what%20I%20should%20do%20in%20this%20instance.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThank%20you%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EMark%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-1386021%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EEdge%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EEdge%20Chromium%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3Ejava%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3Eselenium%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EUpgrade%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1387058%22%20slang%3D%22en-US%22%3ERe%3A%20EdgeDriver%20(v81)%20no%20longer%20supports%20ability%20to%20pass%20in%20DriverService%20as%20a%20parameter%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1387058%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F666149%22%20target%3D%22_blank%22%3E%40mloughery%3C%2FA%3E%26nbsp%3Breporting%20issues%20like%20this%20here%20is%20perfectly%20fine.%20If%20the%20issue%20needs%20to%20go%20through%20Selenium%2C%20we%20can%20help%20direct%20it%20over%20there%2C%20but%20for%20something%20that%20is%20specific%20to%20the%20MSEdgeDriver%2C%20I%20work%20on%20that%20team%2C%20so%20I%20can%20likely%20help.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIn%20this%20case%2C%20have%20you%20seen%20this%20article%20we%20wrote%3F%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fmicrosoft-edge%2Fwebdriver-chromium%3Ftabs%3Dc-sharp%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fmicrosoft-edge%2Fwebdriver-chromium%3Ftabs%3Dc-sharp%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EI%20think%20it%20addresses%20your%20issue%20with%20the%20EdgeDriverService%3A%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-csharp%22%3E%3CCODE%3Eusing%20(var%20service%20%3D%20EdgeDriverService.CreateChromiumService())%0A%7B%0A%20%20%20%20service.UseVerboseLogging%20%3D%20true%3B%0A%0A%20%20%20%20var%20driver%20%3D%20new%20EdgeDriver(service)%3B%0A%7D%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EDoes%20that%20help%3F%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E-John%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1387144%22%20slang%3D%22en-US%22%3ERe%3A%20EdgeDriver%20(v81)%20no%20longer%20supports%20ability%20to%20pass%20in%20DriverService%20as%20a%20parameter%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1387144%22%20slang%3D%22en-US%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F318459%22%20target%3D%22_blank%22%3E%40johnjansen%3C%2FA%3E%26nbsp%3Bthanks%20for%20your%20quick%20response.%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EYeah%20I%20actually%20linked%20that%20article%20in%20my%20question%20(%22breaking%20change%22)%20but%20I%20did't%20find%20anything%20to%20help%20there.%20I%20am%20using%20Java%20with%20Selenium%20so%20that%20C%23%20code%20isn't%20a%20great%20deal%20of%20help%20to%20me.%20I%20also%20checked%20the%20javadocs%20for%20the%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fwww.javadoc.io%2Fstatic%2Forg.seleniumhq.selenium%2Fselenium-edge-driver%2F4.0.0-alpha-5%2Forg%2Fopenqa%2Fselenium%2Fedge%2FEdgeDriverService.html%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%22%3EEdgeDriverService%3C%2FA%3E%20and%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fwww.javadoc.io%2Fstatic%2Forg.seleniumhq.selenium%2Fselenium-edge-driver%2F4.0.0-alpha-5%2Forg%2Fopenqa%2Fselenium%2Fedge%2FChromiumEdgeDriverService.html%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%20noopener%20noreferrer%22%3EChromiumEdgeDriverService%3C%2FA%3E%20classes%20and%20there%20is%20no%26nbsp%3B%3CSPAN%3ECreateChromiumService%20method%2C%20so%20I%3C%2FSPAN%3E%3CSPAN%3E%26nbsp%3Bthink%20this%20issue%20is%20very%20specific%20to%20Java.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3ETo%20clarify%20a%20bit%20more%20about%20what%20exactly%20I%20want%2C%20below%20is%20what%20I%20use%20in%20Chrome%20-%20it%20is%20working%20fine%3A%3C%2FP%3E%3CPRE%3E%3CSPAN%20class%3D%22typ%22%3EChromeDriverService%3C%2FSPAN%3E%3CSPAN%20class%3D%22pln%22%3E%20chromeDriverService%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22pun%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22typ%22%3EChromeDriverService%3C%2FSPAN%3E%3CSPAN%20class%3D%22pun%22%3E.%3C%2FSPAN%3E%3CSPAN%20class%3D%22pln%22%3EcreateDefaultService%3C%2FSPAN%3E%3CSPAN%20class%3D%22pun%22%3E()%3B%3CBR%20%2F%3E%3C%2FSPAN%3E%3CSPAN%20class%3D%22pln%22%3Edriver%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22pun%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22kwd%22%3Enew%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22typ%22%3EChromeDriver%3C%2FSPAN%3E%3CSPAN%20class%3D%22pun%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22pln%22%3EchromeDriverService%3C%2FSPAN%3E%3CSPAN%20class%3D%22pun%22%3E%2C%3C%2FSPAN%3E%3CSPAN%20class%3D%22kwd%22%3Enew%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22typ%22%3EChromeOptions%3C%2FSPAN%3E%3CSPAN%20class%3D%22pun%22%3E())%3C%2FSPAN%3E%3C%2FPRE%3E%3CP%3EAnd%20this%20is%20what%20I%20want%20to%20do%20in%20Edge%20Chromium%20-%20this%20results%20in%20error%20as%20the%20constructor%20does%20not%20exist%20for%20these%20parameters%3A%3C%2FP%3E%3CPRE%3E%3CSPAN%20class%3D%22typ%22%3EEdgeDriverService%3C%2FSPAN%3E%3CSPAN%20class%3D%22pln%22%3E%20edgeDriverService%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22pun%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22typ%22%3EEdgeDriverService%3C%2FSPAN%3E%3CSPAN%20class%3D%22pun%22%3E.%3C%2FSPAN%3E%3CSPAN%20class%3D%22pln%22%3EcreateDefaultService%3C%2FSPAN%3E%3CSPAN%20class%3D%22pun%22%3E()%3B%3CBR%20%2F%3E%3C%2FSPAN%3E%3CSPAN%20class%3D%22pln%22%3Edriver%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22pun%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22kwd%22%3Enew%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22typ%22%3EEdgeDriver%3C%2FSPAN%3E%3CSPAN%20class%3D%22pun%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22pln%22%3EedgeDriverService%3C%2FSPAN%3E%3CSPAN%20class%3D%22pun%22%3E%2C%3C%2FSPAN%3E%3CSPAN%20class%3D%22kwd%22%3Enew%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22typ%22%3EEdgeOptions%3C%2FSPAN%3E%3CSPAN%20class%3D%22pun%22%3E())%3B%3C%2FSPAN%3E%3C%2FPRE%3E%3CP%3Ep.s.%20It's%20exactly%20the%20same%20for%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3EChromiumEdgeDriverService%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%3EHope%20that%20all%20makes%20sense.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%3EThanks%2C%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%3EMark%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1387167%22%20slang%3D%22en-US%22%3ERe%3A%20EdgeDriver%20(v81)%20no%20longer%20supports%20ability%20to%20pass%20in%20DriverService%20as%20a%20parameter%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1387167%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F666149%22%20target%3D%22_blank%22%3E%40mloughery%3C%2FA%3E%26nbsp%3Bah%2C%20sorry%20I%20didn't%20click%20the%20link%20to%20see%20that%20you%20already%20read%20the%20article%20%3A)%3C%2Fimg%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIf%20this%20is%20specific%20to%20the%20Java%20bindings%2C%20then%20it%20should%20go%20to%20Selenium.%20But%20before%20doing%20that%2C%20I'll%20check%20here%20on%20whether%20we%20have%20status%20for%20updated%20language%20bindings.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1390671%22%20slang%3D%22en-US%22%3ERe%3A%20EdgeDriver%20(v81)%20no%20longer%20supports%20ability%20to%20pass%20in%20DriverService%20as%20a%20parameter%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1390671%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F666149%22%20target%3D%22_blank%22%3E%40mloughery%3C%2FA%3E%26nbsp%3BLook%20like%20some%20things%20are%20missing%20from%20the%20Java%20language%20bindings.%20We're%20going%20to%20take%20a%20look%20at%20getting%20them%20updated%20in%20the%20next%20couple%20weeks.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThanks%20so%20much%20for%20taking%20the%20time%20to%20post%20this%20here.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E-John%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1392202%22%20slang%3D%22en-US%22%3ERe%3A%20EdgeDriver%20(v81)%20no%20longer%20supports%20ability%20to%20pass%20in%20DriverService%20as%20a%20parameter%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1392202%22%20slang%3D%22en-US%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F318459%22%20target%3D%22_blank%22%3E%40johnjansen%3C%2FA%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThanks%20so%20much%20for%20your%20quick%20responses%20to%20my%20messages.%20That%20would%20be%20great%20to%20have%20a%20resolution%20in%20place%20that%20quickly!%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EMark%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1442850%22%20slang%3D%22en-US%22%3ERe%3A%20EdgeDriver%20(v81)%20no%20longer%20supports%20ability%20to%20pass%20in%20DriverService%20as%20a%20parameter%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1442850%22%20slang%3D%22en-US%22%3E%3CP%3EThis%20is%20now%20working%20in%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fselenium-release.storage.googleapis.com%2F4.0-alpha-6%2Fselenium-server-4.0.0-alpha-6.jar%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%20noopener%20noreferrer%22%3E4.0.0-alpha-6%3C%2FA%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EThank%20you!!%3C%2FP%3E%3C%2FLINGO-BODY%3E
Highlighted
New Contributor

Hello

 

Since Edge has been upgraded to v80, it has introduced a "breaking change" to our automation. This is documented by Microsoft in the attached link. Ideally I would have liked to remain on Selenium 3 and use the edge-selenium-tools but given that my framework is java based that was not an option.

 

To resolve this, then, I updated to Selenium 4 (alpha 5), which supports v81 of Edge Chromium, but only to an extent. 

 

The ability to pass in ChromiumEdgeDriverService/EdgeDriverService (not sure which I should even be using now) as a parameter to the EdgeDriver WebDriver has been taken away. This is something I rely on to implement a workaround for downloads in headless mode and so I am eager to restore that functionality ASAP.

 

I am not sure if this is something I should be reporting to SeleniumHQ as an improvement or regression, or something I should be raising with yourselves but I am looking for some guidance on what I should do in this instance.

 

Thank you

 

Mark

6 Replies
Highlighted

@mloughery reporting issues like this here is perfectly fine. If the issue needs to go through Selenium, we can help direct it over there, but for something that is specific to the MSEdgeDriver, I work on that team, so I can likely help.

 

In this case, have you seen this article we wrote? https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium?tabs=c-sharp

 

I think it addresses your issue with the EdgeDriverService:

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

    var driver = new EdgeDriver(service);
}

 

Does that help?

 

-John

Highlighted

Hi @johnjansen thanks for your quick response. 

 

Yeah I actually linked that article in my question ("breaking change") but I did't find anything to help there. I am using Java with Selenium so that C# code isn't a great deal of help to me. I also checked the javadocs for the EdgeDriverService and ChromiumEdgeDriverService classes and there is no CreateChromiumService method, so I think this issue is very specific to Java.

 

To clarify a bit more about what exactly I want, below is what I use in Chrome - it is working fine:

ChromeDriverService chromeDriverService = ChromeDriverService.createDefaultService();
driver = new ChromeDriver(chromeDriverService,new ChromeOptions())

And this is what I want to do in Edge Chromium - this results in error as the constructor does not exist for these parameters:

EdgeDriverService edgeDriverService = EdgeDriverService.createDefaultService();
driver = new EdgeDriver(edgeDriverService,new EdgeOptions());

p.s. It's exactly the same for ChromiumEdgeDriverService

 

Hope that all makes sense.

 

Thanks,

 

Mark

Highlighted

@mloughery ah, sorry I didn't click the link to see that you already read the article :)

 

If this is specific to the Java bindings, then it should go to Selenium. But before doing that, I'll check here on whether we have status for updated language bindings.

Highlighted
Best Response confirmed by fawkes (Microsoft)
Solution

@mloughery Look like some things are missing from the Java language bindings. We're going to take a look at getting them updated in the next couple weeks.

 

Thanks so much for taking the time to post this here.

 

-John

Highlighted

Hi @johnjansen

 

Thanks so much for your quick responses to my messages. That would be great to have a resolution in place that quickly!

 

Mark

Highlighted