Golden test framework with Java/Selenium/TestNG/Maven/Log4j2, Create a robust, maintainable, reusable and friendly test framework according to the Page Object Model design pattern!
In this course i will teach you to build a test framework with IntelliJ using Java, Selenium WebDriver, TestNG, Maven and Apache Log4j2.
The course is divided in to two parts.
The first part is the lessons part. In this part I will teach you the basics of selenium, testNG and the foundations of building our framework.
Once the foundations are set we can carry on to the second part.
In the second part we will build a test framework based on automating a real website.
The framework will be built according to the Page Object Model (POM) design pattern. The POM is a concept that is used a lot to automate multiple page applications. Here we segregate the automation from our tests. This makes the framework more maintainable. Your tests will also be easier to read and will be more script based. Even a collegue with less programming experience can create some tests in this framwork.
After this course you will be able to create a whole framework for automated testing of webapplications with all its necessary components.
I will also keep updating the course with new subjects in the future.
Here is a more detailed overview of the subjects i will teach:
– Enough Java knowledge to start automating
– Setting up the software needed
– Basic methods of Selenium WebDriver
– Some handy ChromeOptions
– HTML knowledge for automating web applications
– Finding elements with xpath and css
– Handle basic html elements such as dropdowns, inputfields, checkboxes,
frames, alerts, tables, lists, date pickers, switching windows, etc
– Creating handy tools with java such as a dynamic date formatter for your test cases
– Creating enums for static dropdowns and implementing them in the framework
– Integrating Maven after learning basics
– How to build a Page Object Model Designed framework
– Usage of different Assertions
– Difference between hard and soft assertions
– Implementing smart wait’s
– Setup global properties file for usernames and passwords etc
– Take screenshots
– Using the JavaScript Executor
– Controlling test cases with the testNG xml
– TestNG Parameterization
– DataProvidor annotation
– Implement TestNG listeners
– Executing tests from the command line so we can link the project to a tool
for CI/CD (Continuous Integration / Continuous Delivery)
– Setting up log4j2 for logging with an xml and a properties file.
– Create new logging files after each test run
– Integrating all of above components in a working framework while teaching