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!
- .net Framework 4.5+ / .net Standard 2.0 / C#
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...
- Visual Studio 2017
- SDKs and Visual Studio Tools for dotnet Core (While the main library will compile for dotnet classic 4.5 and 4.62 as well, the sample code and tests require dotnet core 1.1)
- IE, Edge (on Windows 10 Creators or above), Firefox and Chrome for all of the tests to pass
I have VS 2015 will that do?
If you have Visual Studio 2015 Installed you will have to upgrade to support the *.csproj format.
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...
- 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)
The following links relate to all of the key elements within the project technology stack...