Recently Microsoft added the capability to CodedUI to test on the Edge browser. For this they extended the cross browser playback capability. This uses Selenium under the hood. So the steps to make this work are as follows:
- Install the plugin “Selenium components for Coded UI Cross Browser Testing” from the Visual Studio Gallery (found here)
- Download the Edge driver that matches your windows 10 version (found here)
- Install the driver to the following location : %ProgramFiles(x86)%\Microsoft Web Driver
And finally in the code you need to switch the browser you want to launch. You need to provide the following name to start edge:”MicrosoftEdge”
BrowserWindow.CurrentBrowser = “MicrosoftEdge”;
1 |
var browserWindow = <br> BrowserWindow.Launch(new Uri("<your URl here>")); |
And that is it!
Happy testing on Edge
Hi MARCEL,
I followed all the steps that you have specified above. It launches the application successfully, but throws an error “The playback failed to find the control with given search properties” for some controls on edge browser. On the other hand it works fine IE.
Thanks for the clue that the correct string is “MicrosoftEdge” and not just “Edge.” Seems like they would have posted that on the VS Marketplace page!
Doesn’t seem to work for me. I’m getting null object error even though the webdriver and an edge window is opening. Any ideas?
Hi Naveen,
We got the same problem here. Did you find any solution so far?
Thanks for your answer.
Regards, Giampiero
Hi Marcel
We tried to launch the EDGE browser as shown in your example. But we get always an exception “System.NullReferenceException: ‘Object reference not set to an instance of an object.'”, regardless the URL we pass. The WebDriver is started and also the EDGE Browser…
Our environment: VS2017, Win10, MicrosoftWebDriver matching Win OS version.
What could be the reason for this?
Cheers, Robert
I am getting this. Value cannot be null.\r\nParameter name: windowHandle”. Below is my sample code:
BrowserWindow.CurrentBrowser = “MicrosoftEdge”;
var br = BrowserWindow.Launch(new Uri(login_url));
I get the Edge browser opened but as soon as opening, I get the exception mentioned above.
What am I doing wrong?
Hi Marcel,
I have been working on the codedui testing for the Edge browser, I have followed the above steps but it gives me a “System.NullReferenceException” on the line – browserWindow.Launch(new Uri(“”));
The edge browser is launched but the url is not getting navigated to the browser.
Could you please help in this.
Below is the detailed error which I am getting
Object reference not set to an instance of an object.
System.NullReferenceException
at Microsoft.VisualStudio.TestTools.UITest.Extension.CrossBrowser.CrossBrowserService.InitializeTopLevelWindow()
at Microsoft.VisualStudio.TestTools.UITest.Extension.CrossBrowser.CrossBrowserService.InitializeCrossBrowserService(String[] args)
at Microsoft.VisualStudio.TestTools.UITest.Extension.CrossBrowser.CrossBrowserService+c.b__3_3(String[] args)
at Microsoft.VisualStudio.TestTools.UITest.Extension.CrossBrowser.CrossBrowserService.Launch(String[] args)
at Microsoft.VisualStudio.TestTools.UITest.Extension.CrossBrowser.CrossBrowserFactory.Launch(String[] arguments)
at Microsoft.VisualStudio.TestTools.UITesting.BrowserWindow.LaunchPrivate(String[] arguments)
at Microsoft.VisualStudio.TestTools.UITesting.BrowserWindow+c__DisplayClass3_0.b__0()
at Microsoft.VisualStudio.TestTools.UITesting.CodedUITestMethodInvoker.InvokeMethod(Func`1 function, UITestControl control, Boolean firePlaybackErrorEvent, Boolean logAsAction)
at Microsoft.VisualStudio.TestTools.UITesting.BrowserWindow.Launch(String[] arguments)
Thanks in advance
I have tried this but it always dies right after the edge window is invoked with an exception; “Object reference not set to an instance of an object.”
I don’t have any problems running chromedriver or webdriver so I am puzzled why this is an issue with edge. Any insights?
I am facing the same problem. I am getting the error “System.NullReferenceException: ‘Object reference not set to an instance of an object.'” as soon as I the Edge Browser opens up.
I have tried multiple things, and still facing the error. Does any one know why is this happening?
In Microsoft Edge browser for record and playback, objects not getting identified and gives a message as: “To test Windows Store apps, use the Coded UI Test project template for Windows Store apps under the Windows Store node.” Could you please help in this!
You can not record and playback using edge. Recording is only supported on IE