As you might know, one of the best available frameworks for creating web automation tests is Selenium WebDriver. Microsoft publicly announced that their new Windows 10 web browser- Edge is going to support WebDriver automation (Microsoft Edge WebDriver). Of course I wanted to try it as fast as I can, so I prepared everything needed and created several tests. I’m going to present to you their source code and results.
Create Your First WebDriver Test Project
1. Create New Test Project in Visual Studio.
2. Install NuGet package manager and navigate to it.
3. Search for Selenium and install the first item in the result list
Microsoft Edge WebDriver C# Code
Test’s Test Case
The primary goal of the below tests is going to be to create a “healthy” diet menu from specially designed by me- diet generator page.
Code Examples in Firefox WebDriver
The automation of the above form using Firefox WebDriver is a trivial task.
The driver instance is created in the TestSetup method and disposed in the TestCleanup. After that the test navigates to the desired page, finds the specified elements and performs the required action. If you don’t know how to use the different WebDriver methods, you might find interesting my fast-read tutorial on the matter- Getting Started with WebDriver C# in 10 Minutes.
The test was executed for ~16 seconds.
Code Examples in Firefox WebDriver + Page Objects
I also rewrote the test to use WebDriver Page Objects. I created a HealthyDietGeneratorPage class where all elements are present.
When the object is created for the first time, all elements are initialized through the WebDriver’s PageFactory.
The code of the test is almost identical with the only difference that the elements initializations are now a responsibility of the page object.
The execution time almost didn’t change- ~15 seconds. Anyway, it was a little bit faster.
Microsoft Edge WebDriver Prerequisites
1. Download Microsoft Edge WebDriver executable from the official Microsoft website.
2. Install Microsoft Edge WebDriver from the previously downloaded setup.
3. Create a virtual machine or upgrade your OS to Windows 10, the Microsoft Edge WebDriver is compatible only with it.
Code Examples in Microsoft Edge WebDriver
On theory, the same tests should be able to be executed through the new WebDriver, only with the exchange of the driver type. The setup for the Microsoft Edge WebDriver is a little bit more complicated. Also, there are some not supported yet methods like GoToUrl and FindElement by XPath. The navigation to a new URL is achieved through this.driver.Url assignment.
The same test executed with Firefox Driver finished for 16 seconds; now it was run for 4 seconds using the new Microsoft Edge WebDriver.
The page object implementation was even faster. The test execution took only 3 seconds.
So Far in the 'Pragmatic Automation with WebDriver' Series
CTO and Co-founder of Automate The Planet Ltd, inventor of BELLATRIX Test Automation Framework, author of "Design Patterns for High-Quality Automated Tests: High-Quality Test Attributes and Best Practices" in C# and Java. Nowadays, he leads a team of passionate engineers helping companies succeed with their test automation. Additionally, he consults companies and leads automated testing trainings, writes books, and gives conference talks. You can find him on LinkedIn every day.