Welcome to Selenium WebDriver with Java. I'm your instructor, Angie Jones.
Selenium WebDriver is an object-oriented automation API that natively drives a browser as a user would.
Selenium WebDriver supports multiple programming languages, and in this course, we'll focus on the Java implementation.
Java Prerequisite
If you don't know how to program in Java yet, no worries. I have another free course on Test Automation University called Java Programming. I strongly encourage you to take that course before beginning this one, if needed.
If you're interested in learning about Selenium WebDriver in other programming languages, we do have other courses on Test Automation University that cover these.
In this course, we'll learn:
How to install Selenium WebDriver and the other dependencies needed
How to use the WebDriver API to launch and interact with websites
Various techniques to find elements such as buttons, links, text, dropdowns, and more within a web application
WebDriver API calls to interact with those elements such as clicking, entering and reading text, selecting options, handling popups and alerts, uploading files, working with iframes, and more
Advanced interactions, such as hovering and sending alternative keys like tab, as well as symbols
How to integrate the WebDriver API with a test assertion library, such as TestNG
How to organize our test code using the Page Object Model
Various wait strategies to control the timing of our scripts and avoid flaky tests
How to take screenshots during test executions
How to have our code listen for specific WebDriver events and perform additional actions, like logging our test activity
How to customize the browser used in test execution
How to run headless tests
Advanced topics like navigating multiple open tabs within a browser, as well as cookie management
And for anything we can't do with the core WebDriver API methods, we'll learn how to write custom actions using JavaScript
We have a lot to cover in this course, and I'll not only show you how to use the WebDriver API, but I'll also use examples to explain why certain calls are needed, and when they should be used.
I've also included optional independent exercises that you can try on your own to further lock in what you're learning.
Let's begin.