Course Description

Class modules include hands-on labs where you will be able to apply the concepts just learned to developing Selenium automated Java tests. Students will work with a complex Web Application that requires a number of testing scenarios.

Course Outline

1. Introduction to Test Automation

  • Variations of Test Automation
  • Test Harness Tools
  • Benefits of Test Automation
  • What to test
    • The Testing Pyramid
    • Test Data

2. Introduction to Selenium

  • Selenium Suite of Testing Tools
  • History of Selenium
  • Selenium Browser Drivers
  • Version Considerations
    • W3C WebDriver Specification
    • JSON Wire Protocol
    • Selenium Roadmap
  • Downloading and Installing Selenium

3. Selenium WebDriver

  • Introduction to WebDriver
  • Test script as Java code
  • The Selenium WebDriver library
  • The Main WebDriver classes
  • WebDriver Capabilities
  • Setting up Selenium WebDriver projects
  • Using Maven and Gradle build tools

4. Working with Selenium WebElements

  • WebElements as Nodes in the DOM
  • Locating WebElements on the Web Page
  • Using Selenium IDE as a Prototype Time Saver
  • Interacting with WebElements
    • Retrieving WebElements
    • Verifying WebElements
    • Submitting a Form

5. Working with Selenium Clickable WebElements

  • Working with Clickable WebElements
    • Handling Radio buttons and Check Boxes
    • Working with Select Drop Down Elements

6. Accessing Links Using Selenium WebDriver

  • Exact and Partial Link Text Match
  • Case-sensitivity

7. Accessing Tables Using Selenium WebDriver

  • HTML Tables Structure
  • Advanced Strategies for Locating WebElements
  • Walking a Table with Selenium

8. Selenium Patterns and Testing Frameworks

  • Testing Frameworks
    • Modular
    • Data Driven
    • Keyword-Driven
    • Hybrid
  • Introduction to POM (Page Object Model)
    • Making Automated Test Scripts Maintainable
    • POM Benefits
    • How to Refactor a Project to POM

9. The Selenium Page Factory

  • Introduction to the Page Factory
  • PageFactory implicit Instantiations
  • Page Factory Annotations
  • Lazy Instantiations and Caching

10. Working with Multiple Windows

  • Working with alert pop-ups
  • Switching between multiple windows
  • Working with iFrames
  • OS Generated pop-ups

11. Controlling Test Execution

  • Waiting on a Web Page Element
  • Implicit Waits
  • Explicit Waits
  • Specifying Expected Conditions
  • Working with Ajax Controls Using WebDriver
    • Overview of Ajax
    • Issues testing Ajax model
    • Pros and Cons of different methods to wait on Ajax

12. Advanced User Interactions

  • Introduction to Advanced User Interactions
  • Keyboard & Mouse Events
  • Building a Series of Multiple Actions

13. Advanced Web Application Access

  • Taking Screenshot Using WebDriver
  • Working with Colors
  • HTML5 Considerations
  • Handling HTML5 Date Time Picker Using Selenium
  • Working with Non-Text Pressable Keys or Unicode PUA Code points
  • Menu Selection

14. Selenium Wisdom

  • Selenium Guidelines and Recommendations
  • Selenium Worst Practices to Avoid
  • Selenium References

15. Working with Selenium Grid

  • Introduction to Selenium Grid
  • Selenium Grid Distributed architecture
  • Selenium Server
  • Selenium Grid Console
  • Running Selenium Grid

16. Mobile Application Testing

  • Mobile App Considerations
  • Selenium and Mobile Apps
  • Testing with Native Platform Support
  • Appium Cross Platform Support


This is a hands on course designed for Web and Test Engineer Developers who are new to Selenium.
Students should have a background in

  • Developing Java applications in an IDE like Eclipse
  • Web technologies
  • Testing concepts
  • Knowledge of HTML DOM and Object Oriented Development is helpful


18 Hours | 3 Days or 6 Nights

Thank you for your interest in this course. Unfortunately, the course you have selected is currently not open for enrollment. Please complete a Course Inquiry or call 314-977-3226 so that we may promptly notify you when enrollment opens.

Required fields are indicated by .
*Academic Unit eligibility to be determined by college/university in which you are enrolled in a degree seeking program.