Did you know that there is an abundance of incredible code out in the world that has already been developed? You are not the first person to try and build an Enterprise level test automation framework. People have been doing this for decades.
This is going to be a list of all the automation frameworks that I have found through my years of development. Most of it is Selenium WebDriver since it’s what I am currently using. Take a look at everything to gather some ideas for your efforts.
Selenium WebDriver | C# | Page Object Model
This is my open source framework that I teach through my Complete Selenium Webdriver Course. It is lightweight, easy to use, and is based around the page object model for easy maintenance. Fork it or download it to get some new ideas for your future framework.
Selenium Webdriver | Test Studio | C#
Anton has a ton of useful code that you can look at. He applies different design patterns to his code to show you how it would look. For example, you can see how to use the Strategy Design Pattern, the Facade Design Pattern, Page Object Model, and Advanced Page Object Model. You can cycle through it and decide what you want to reuse.
Selenium WebDriver | BDD | C# | Acceptance Testing
SpecFlow is one of the few C# BDD frameworks out there, which automatically makes it a highly desirable candidate. This framework helps you to build acceptance tests using business readable specifications. Therefore, these tests are readable by the developers, testers, and business personnel. In theory, these tests can replace requirements as they serve as living documentation.
Selenium WebDriver | GUI Testing | RESTful testing | SauceLabs
This framework is one of the most feature-rich frameworks that I have ever seen in the industry. It helps you to build GUI tests, RESTful tests, tests against Windows applications, and runs all of this locally or in the cloud. I spent many hours looking at this code and learned a lot.
The creator has some excellent strategies for making very readable tests. Furthermore, he creates great logs, screenshots, and video recordings to help debug the failed tests. Sadly, I cannot get it to run consistently, but it’s a great place to start building from.
Gauge is a test automation framework designed by the guys that created Selenium WebDriver. Although I haven’t explored it myself, it does seem interesting, since it was created by the Selenium guys. They do seem to create resources that change the world. It’s a resource I will look at in the future, and you should as well.
Test Automation | Keyword Driven | C# | Java | Python
This is an open source keyword-driven framework that allows users to build keyword-driven actions in order to create their tests through a simple user interface. They have integration capabilities with source control, continuous integration, and many others. I’m not a big fan of keyword-driven frameworks, but if they are your cup of tea, then you should look at RedwoodHQ. Here are some great links to get you started:
Automation Framework | BDD | Java
Serenity is a BDD framework that works with Java and Selenium WebDriver. Serenity also offers functionality such as:
- Providing WebDriver management
- Taking screenshots
- Running tests in parallel
- Facilitating Jira integration
I have not personally used it, but I know some people that use it and they all say fantastic things about Serenity. It makes me a bit jealous that it doesn’t integrate with my Visual Studio.
Selenium WebDriver | BDD | Specflow | C#
If you are looking to build Behavior Driven Development tests using Selenium WebDriver and C#, then Alister has the code that you want to see. He utilized SpecFlow framework to run his tests. I always recommend that you look at all the code you can to acquire knowledge from other individuals.