Lesson 1: Core Java Refresher
- Keywords and Syntax
- variables, operators, and control flows
- OOPs overview from Java context
- Exception Handling, File and DB handling
- Collections overview, and ArrayList example
Lesson 2: Automation Basics
- Fundamentals of test automation
- ROI in Automation
- Automation framework
- Various tools and comparison with Selenium
Lesson 3: Introduction of Selenium WebDriver
- What Selenium is and how it is used in the industry
- Features of Selenium
- Selenium IDE – Overview with a couple of examples
- WebDriver Architecture
- Installation of Selenium and supporting tools/Frameworks
Lesson 4: Locating Techniques
- Simple WebDriver Program Demonstration
- Basics of HTML page, tags, attributes, and visible texts
- Importance of attributes in locating elements
- Installation of Firebug and Firepath in Firefox browser
- Locators and Eight Locating Techniques
- Creating robust locators using CSS and XPath
Lesson 5: WebDriver Basics – I
- Execute Tests in Firefox, Chrome, and Internet Explorer
- WebDriver Commands: Driving Browsers and Handling Cookies
- WebElement Commands
- Handling Various WebElements
- WebDriver Timeout Methods
Lesson 6: WebDriver Basics – II
- Handling Multiple elements using findElements() method
- Handling Alerts, Pop-ups, and Frames
- Limitation of Implicit Wait and how Explicit Wait helps
- Advanced User Interactions
- Taking Screenshots
- Working with Firefox profiles
- Handling File Uploads Using AutoIT
- Introduction to Flash Application Testing using Selenium WebDriver
Lesson 7: TestNG
- Arranging Tests in 3-As format
- I.R.S.T Principles and SRP
- Various Annotations in TestNG
- TestNG configuration file
- Configuration Annotations
- Attributes of @Test
- Parallel Test Execution Capability
- Assertion APIs
- Passing Parameters to Tests
- Configuring Test Suites
- Reports using TestNG
- Reports using ReportNG
Lesson 8: WebDriver – Framework
- Introduction to various frameworks
- Page Object Design Pattern
- Data Driven Tests using TestNG and POI
- Introduction to Maven and ANT
- Use of Log4j
- Use of Listeners
- Typical components of a framework
- Overview of BDD, TDD
- Code Coverage in Java
- Overview of Sikuli tool for UI testing
- Introduction to Jenkins
- Configuring Jenkins to invoke Selenium Tests
Lesson 9: Selenium Grid
- What is Selenium Grid?
- When to Use Selenium Grid
- Setting up Grid – Hub and Nodes?
- Configuring TestNG.xml to run tests on Grid
Lesson 10: Project Execution
- Automate an eCommerce Application
- Test Automation Requirements Description
- What Next? How to Start?
- High Level Framework
- Configurability—No to Hard-Coding
- Modularity—Re-Use And DRY
- Test Data Management
- Logging and Reporting
Lesson 11: Mobile App Test Automation using Appium
- Introduction Mobile App Test Automation
- Introduction to Appium
- UIAutomator with Appium
- Locating Elements – UIAutomator framework