0

Since Edge has been upgraded to v80, it has introduced a "breaking change" (https://learn.microsoft.com/en-us/microsoft-edge/webdriver-chromium?tabs=c-sharp) 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 (https://github.com/microsoft/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 (https://www.javadoc.io/doc/org.seleniumhq.selenium/selenium-edge-driver/latest/org/openqa/selenium/edge/package-summary.html). This is something I rely on to implement a workaround for downloads in headless mode and so I am eager to restore that functionality.

I am not sure if this is something I should be reporting to SeleniumHQ (https://github.com/SeleniumHQ/selenium/issues/new/choose) as an improvement or regression, or something I should be raising with Microsoft but I am looking for some guidance on what I should do in this instance.

To clarify, 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

halfer
  • 19,824
  • 17
  • 99
  • 186
  • I tested and reproduced the issue. You could still use selenium 3.141.59 which is the stable version. So that you could pass in parameter EdgeDriverService and I think you don't have to use edge-selenium-tools. You could refer to the accepted answer in [this thread](https://stackoverflow.com/questions/60739613/change-default-download-location-on-edge-chromium) for more information. – Yu Zhou May 14 '20 at 03:26
  • The problem there is that if you have v80 or v81 of Edge and v3.141.59 of selenium, you cannot specify EdgeOptions into the EdgeDriver. So you basically had a choice between choosing the EdgeOptions and EdgeDriverService... and the former was better than the latter. – Mark Loughery May 21 '20 at 08:27
  • Yes, you're right. I found in another thread you post in Microsoft Tech Community, there's official reply that they'll fix the issue in the next couple weeks. So let's wait for the update. – Yu Zhou May 21 '20 at 09:00
  • Cool - yeah I did! If I get everything working I will update this with a solution – Mark Loughery May 21 '20 at 10:16

1 Answers1

0

This is now working in Selenium 4.0.0-alpha-6