Ministry of Technology
Show Menu

WebDriver Extensions

WebDriver Extensions
Created by Ministry
Language
.net Framework 4.5+ / .net Standard 2.0 / C#
Type
Library

This project is set up to provide a basic styled framework to build a page structured model for writing UI Automation tests against in dotnet core or dotnet classic. The attached Google libraries act as samples to create a simple model to run tests against using the framework code in the main libraries. You can use these as a starting point.

Developers - Getting Started

In order to make use of this solution you must have the following installed...

I have VS 2015 will that do?

If you have Visual Studio 2015 Installed you will have to upgrade to support the *.csproj format.

Additional recommendations

I recommend Sourcetree to supplement command line and Visual Studio for its visualisation.

Build and Test

Once you have cloned this repo and checked out the branch that has been created for you run the following commands in the solution root to download dependencies...

As yourself...

  • dotnet restore

You can run tests in Visual Studio 2017 or by using 'dotnet test' on the command line.

Ensure that 'Enable Protected Mode' is turned off in ALL zones in IE.

You will need to make sure that your UI Tests library includes references to any of the Driver packages that you intend to use from nuget to ensure they are added to the output directoried...

  • PhantomJS: PhantomJS v2.1.1 & Selenium.WebDriver.PhantomJS v1.0.0
  • Chrome: Selenium.WebDriver.ChromeDriver v2.35.0
  • IE: Selenium.WebDriver.IEDriver v3.8.0 (On modern setups this can be tricky - Scaling will set the Browser zoom level above 100% which will cause failures. The IE driver is very flaky.)
  • Firefox: Selenium.WebDriver.GeckoDriver v0.19.1
  • Edge: Selenium.WebDriver.MicrosoftWebDriver v10.0.16299 (This is an annoying one as it needs to match the buil of Windows 10 used to test with or it will just fail)

Useful Links

The following links relate to all of the key elements within the project technology stack...

Visit us on GitHub

UI Automation for .net

I've spent a good few years of my professional career working on a variety of test frameworks merging many different techniques to do UI Automation testing of various types. As a primarily .net focussed coder I always felt that this was an area that was severely lacking - until now!

Read Article