The process of CI/CD requires testing the functionalities on daily basis, of course this is impossible to achieve with manual testing and limited number QA engineers. For that reason QA engineers are automating the scenarios in order to speed up the testing process. In this article I’m going to be focused on the frameworks for testing web applications, and how to choose the most suitable framework for your project.
Choosing the language
Let’s assume that we would have to automate website that has modern design, animations, etc. In this case it is preferred to choose the programming language that you are most comfortable to use. This will allow you setup the project structure in time, and start writing the tests without losing time learning new language.
The test runners
Java test runners
The most common used test runners for Java are JUnit and TestNG. The style of the automation with this runners are similar to the Unit tests written by the developers, and they are more technical. Meaning they are hard to read and understand by the non technical team members.
In cases when you have to have the automation scenarios to be read by non technical members it is good approach to use Cucumber. This is going to allow you to write the tests in readable format, and also re-use the steps of the scenarios, among other scenarios.
C# test runners
When automating the tests in C# I prefer nUnit / xUnit or SpecRun, and the reason for this is that you can have tests with technical style of writing, or having tests that are more readable. SpecRun is in combination with the Specflow framework, and this combination is preferred to be used when you need to have scenarios that are readable and understandable by the non technical members.