Learn to build a robust, flexible UI automation framework using Selenium4 & the powerful features of Junit 5.
What you'll learn
- Advanced Selenium Framework development with Junit5
- Execute tests in parallel, Selenium Docker Grid, Zalenium Grid with video recording
- Tagging,Retrying tests, implementing parameterized tests using excel & csv
- Continuous Integration with git, GitHub & Jenkins
- Basic knowledge of Selenium WebDriver
- Knowledge of Core Java
- Element identification techniques in Selenium(xpath, css, id etc)
In the last few years, there has been a tremendous increase in the number of businesses that are now making it easier for consumers to do business online. Websites that can perform seamlessly on multiple browsers & platforms are necessary for a company to thrive & excel. So testing & automating the testing of these applications is essential for providing quality to customers who use these applications.
"The demand for engineers who have the niche skill of automating the testing of web,api & mobile application has increased."
"Selenium has been the most preferred library when it comes to automating UI tests."
Other than just automating a user workflow, it is also necessary to have the ability to execute tests multiple times with data, execute tests in parallel, group tests, run tests in Selenium Grid, capture screenshots, video recordings to provide additional information on test runs.
However, Selenium alone may not provide all the features to perform the activities as mentioned above. A combination of many libraries will be necessary to build a robust, effective & easy to use, reusable framework.
In this course, you will be learning exactly how to build a robust, simple, effective & reusable UI automation framework using Selenium 4, Junit5 & many other cool Java libraries.
Below are the features that we will be building into this framework
- Dependency management & build execution using Maven
- Property Reader using Singleton design pattern
- Multiple browser binary management techniques using WebDriverManager
- Robust Webdriver design with Threadlocal using FactoryPattern, using enums to manage browser configuration
- Generic setup, teardown using junit5 annotations(@BeforeAll,@AfterAll,@BeforeEach,@AfterEach)
- Implement the Page Object Model pattern to automate e-commerce application(JPetStore)
- Creating generic element identification, element interaction & synchronization methods
- Building steps for functionality using Allure Library(@Step)
- Implementing Page & Element screenshots
- Create TestListeners
- Grouping of tests using tags(@Tag annotations)
- Retrying flakey tests
- Executing tests in parallel using maven-surefire(parallel & fork techniques)
- Driving parameterized tests using excel & CSV
- Implementing maven SystemPropertyVariables to override properties via command line
- Creating awesome reports using the Allure Library.
- Executing tests in Grid (Docker Selenium Grid, Zalenium Grid)
- Source control with git & GitHub
- Executing builds in Jenkins
Who this course is for:
- Test Automation Engineers
- Software developers
- QA Engineers
- Technology enthusiasts