Selenium Fundamentals
Automated testing is the way forward. It is faster than manual testing, and you can easily rerun your tests at no extra cost. With this course, you'll learn how to use Selenium to efficiently test your own applications.
There are several challenges when writing automated tests for web applications: selecting an adequate test framework, using appropriate selectors to avoid flaky tests, and building a good testing framework. This course walks you through these challenges and provides you with the knowledge to overcome hurdles in testing by developing stable and effective testing solutions. You will learn the complete process of automated testing, such as configuring your environment, creating and running automated tests, analyzing reports, and troubleshooting errors by using a Selenium Grid.
We’ll begin this course by understanding the importance of automating tests. Then, we will learn how to choose good selectors for navigating through your web application while highlighting best practices and techniques.
After writing your first tests, you will go through the object model to help create your own advanced test cases. You will learn how to analyze a test report, track timing errors, and separate real issues from "flaky" tests. You will also learn how to configure and connect to a local grid, a network grid, and a third-party service. By the end of the course, you will have the skills you need to run automated tests on your own web application.
After completing this course, you will be able to:
- Get an overview of Selenium
- Identify what to automate in a project and configure the environment
- Learn to control browser behaviour and manipulate web page elements
- Understand the nuances of writing tests and creating test suites
- Create UI tests with Selenium WebDriver and analyze test results
- Troubleshoot errors in automation and build out meaningful reporting
- Operating system: Windows 7 or Windows 10
- Browser: Google Chrome, Latest Version
- Selenium WebDriver
- Google Chrome Driver
- IntelliJ IDEA
This course will require a computer system for the instructor and one for each student. The minimum hardware requirements are as follows:
- Processor: Intel Core i5 or equivalent
- Memory: 8GB RAM
- Storage: 4 GB available space
Lesson 1: Getting Started
What is Automation?
Selenium Overview
Environment Configuration
Lesson 2: WebDriver Functionality
Overview of Frequently Used Methods
Instantiating WebDriver
Controlling the Browser Window
Lesson 3: WebElement Functionality
Using Browser Developer Tools
Overview of WebElement Functionality
Interacting with Elements on a Page
Element Locator Types
Lesson 4: Advanced Element Location
Going through the DOM
Searching within Previously Found Elements
Creating Complex Locators when an Element is Not Easily
Reachable
Lesson 5: Waiting for Elements
Implicit Waits
Explicit waits
Implicit Versus Explicit Waits
Waiting for an Element with a Custom Written Condition
Lesson 6: Page Object Model
Introduction to the Page Object Model
Modeling a Web Application Using Page Objects
Creating a Selenium Framework for a Web Application
Lesson 7: Writing Tests
What is a Test Framework?
Choosing a Test Framework
Creating Test Scripts and Suites
Validating and Viewing Results
Lesson 8: Analysis and Troubleshooting
Analyzing the Test Report
Tracking Down Timing Errors
Separating Real Issues from "Flaky" Tests
Lesson 9: Using a Selenium Grid
Configuring and Connecting to a Local Grid
Configuring and Connecting to a Network Grid
Connecting to a Third-Party Service