
Advanced Automation I – Java, Selenium
Preconditions:
- Java basics
- Selenium basics
- Test automation basics
- IDE installed, latest IntelliJ IDEA recommended
- Java and Maven installed and set
Nice to have:
- Experience with Maven
- Experience with GitHub
- Creating web element locators
- Passed QAITive course – Test Automation basics
Course content:
Introduction to the course
- Lesson overview
- Course goals
Environment setup
- Environment check-up by creating a new test
Maven
- Build system configuration and adding dependencies
- Build system component check-up
Unix commands
- Basic usage of Linux and OS-Unix administration commands
Git and Github
- Introduction to version control and cloning the first lesson
Web element locators
- Locator creation and advanced usage
Testing frameworks
- Introduction to testing frameworks
JUnit
- JUnit annotations
- Parameterized test
- JUnit hands-on task
TestNG
- TestNG annotations
- Parameters
- Data Provider
- TestNG hands-on task
Page Object Model
- Introduction to POM
- Principles and best practices
- POM hands-on task
Page Factory
- Introduction to PF
- Principles and best practices
- POM hands-on task
Selenium Waits
- Different Wait types
- Implicit wait
- Explicit wait
- Fluent wait
- Fluent wait, best practices
- Fluent waits, hands-on task
Reporting
- Introduction to test automation reporting
- Theory and practice
- Recommendations
- Extent reports
- Allure reports
- Reporting, hands-on task
Final exercise
- Task that covers all previous lessons
Selenium Grid
- Introduction to Selenium Grid
- Remote driver, hub, nods
Cloud Testing
- Introduction to Cloud testing
- SauceLabs
- BrowserStack
Discussion with students
- Discussion about lessons learned
- Questions and answers
- Further steps