4.3 out of 5
354 reviews on Udemy

Selenium WebDriver Test Automation Framework With Real Project

Build Enterprise-Level Test Automation Framework with Real Web Gmail Project
Ken Ho
12,286 students enrolled
English [Auto-generated]
Build enterprise-level WebUI automation test framework with Selenium WebDriver, Maven, Git, Jenkins, JUnit Categories, Apache SureFIre Report, which will cover the whole test framework picture from test execution, test category, test report, page object design pattern, continuous integration and codes management.
Manage the essentials of WebUI automation test scripts writing, which includes Locate WebElement, Interact with WebElement, and Synchronization
Apply the right locators according to different situation, especially handle those WebElements that the id do not exist or will change every time the web pages loads.

Course Description

This course provides you a step-by-step guide on how to integrate Selenium WebDriver, Maven, Git, JUnit Categories, Apache SureFIre Report together, to build an enterprise-level WebUI automation test framework, based on my 10+ years of QA experience.

Learn and master how to build automation framework with real project examples!

  • Manage dependencies using Maven
  • Manage code with Git
  • Refactor with Page Object
  • Categorize tests according to priority
  • Generate easy-to-read test report

Content and Overview

I designed this course from an email related Web UI automation project.

Starting from business requirements requested by QA Manager, I show you how to design the test framework and integrate state-of-the-art tools together to achieve the business requirements. I will walk you through the setup of these tools step by step.

Then as a QA Engineer, I will first manual test the test scenarios and write down the test steps. I will work with you together to turn these manual test steps into automated steps. Along the way, you will encounter challenges and solve them.

In order to make the test framework easy to maintain and expansible, you will refactor the codes with Page Object design pattern. You will find how to re-use the codes professionally and effectively.

Finally, you will assemble the missing components, such as Test Category and Test report, by utilizing popular open source tools.

What am I going to get from this course?

  • Learn how to design and build up test framework from scratch
  • Know how to use the essential tools used by professional QA Engineer
  • Over 30 lectures and 4 hours of content
  • Source Code in this course
  • Lectures and Source Code continuously updated

Course Overview, Project Background and Framework Design

One-minute Course Quick Peek

Course overview and lecturer introduction

Real Project Business Requirement - Test Scenarios
Real Project Business Requirement - Test Framework

The other business requirement for this Web UI automation test framework

Test Framework Design

The building blocks for our Test Automation Framework and how they work together.

Manual Walk Through the test scenarios

A must-do step, walk through test cases manually.

Automation Test Framework Implementation

Prepare Necessary Tools in MacOS Environment

Prepare all the necessary tools, including Java, IntelliJ, Maven, Git, Selenium, etc..

Build First Automated Test

Build our first Selenium WebDriver test

Solve the challenge and complete first test scenario

Solve the synchronization challenge with WebDriverWait, and complete our first test scenario

Using Version Control System - Git

Learn how to manage your code base with Version Control System - Git, which will enable you to track code changes.

Complete Another Test Scenario - Send email and receive email - start

Implementing Test Scenario - Send email and receive email - part 1

Complete Another Test Scenario - Send email and receive email - find patterns

Find the essentials of WebUI automation are: Locate the WebElement efficiently, Interact with it through click, input value or get value.

Complete Another Test Scenario - Send email and receive email - Challenge

Encountered error message

Complete Another Test Scenario - Send email and receive email - Congratulations!

Solve the challenge again

Refactoring Test Framework with Page Object Design Pattern

Commit code updates before continue next step

Get familiar with git and use it to track your code changes and improve your efficiency

Refactoring First Test Case with Page Object Design Pattern

Page Object design pattern is originated from the business requirement of code reuse and future test case expansion. Let's see how to apply to our test framework

Refactoring Second Test Case with Page Object Design Pattern
Refactoring WebUtil to enhance code re-used - Part 1
Refactoring WebUtil to enhance code re-used - Part 2

Test Category, Test Report and Further Studies

Use JUnit Category and Maven Profile to Run Test Groups

Combined with JUnit Category and Maven Profile together, this framework provides flexibility to run different categories of tests.

Use Apache SureFire Report to generate HTML test report

It is essential to enable the test framework to generate easy-to-read test report automatically, which will help team members identify issues quickly. Here we use Apache SureFire Report maven plugin.

Continuous Integration with Jenkins

Show hot to setup a Jenkins job to automate trigger the regression test scripts whenever there is a code updates.

Congratulations and Further Studies to help you advance your career!

End of Course


Test Result Analysis and Test Scripts maintenance

When test failed, you need to analyze the test results. If it is new application issue, report a bug. If it is test scripts issue, update test scripts.

Cross-Browser Testing Setup with Chrome as Example

You will learn how to setup cross-browser testing in a configurable way. I will use Chrome as example but you can setup other browsers such as Internet Explorer as well.

XPath and CssSelectors Simplified Cheat Sheet

Summarized the most popular usage and comparison between XPath and CssSelectors within one simple cheat sheet

XPath and CssSelectors Usage Examples

Videos show you how to use the above cheat sheet. The example website is HSBC Currency Exchange Site, you can google it.

Preparing Tools in Windows Environment - added based on students feedback

Tools Installation List in Windows Environment
Install Java
Install IntelliJ
Install Maven
Install Git, and Download the source code from BitBucket
Install Firefox38 for newly released Selenium 2.46.0

Because latest Selenium WebDriver 2.46.0 supports Firefox 38, we can use it now

Run Sample Tests in Windows Environment using maven

Get to know Selenium Grid

The simplest form of using Selenium Grid

Showing you how to setup Selenium Grid Hub and Node in your local machine, then how to trigger the gird to run your tests.

Source Code

Code Update on Nov 21, 2015

a few updates:

1. WebDriver=2.48.2, to support FireFox 42

2. new method to show how to recursively check for new email with specified subject

3. new method to dismiss alert popup

4. new branch mac_os_chrome_driver, to demonstrate how to include chromedriver in repo, so other users can use Chrome Browser directly. Note different OS need different chromedriver

Username and Password for Code Repo hosted in BitBucket
Set Git to use your own repo

Some students asked how to reset the repo to use their own, so that they can commit and push their own changes. This lecture shows how.

Interview Questions

Interview Questions

Other Lectures based on students feedback

How to interact with JavaScript Select Dropdown options

for a birthday javascript dropdown, how to select month, day and year : this is the link for it :


How to group and prioritize tests with testNG and Maven

How to prioritize tests in testNG and how to add them in POM.xml? Here is a simple example

Can I get the presentations?

Yes, attached is the presentation, according to some students' request.

Is CSS Selector faster than XPATH?

An Test Example Based on Siri's question:

hi ken, i heard cc locators are faster than xpath. is it true? so to test application in IE,Chrome, Firefox,which locator we choose in between css and xpath?

How to take screenshot on test failure?

Show you an example on how to take screenshot when test failed.

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.3 out of 5
354 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1
30-Day Money-Back Guarantee


5 hours on-demand video
2 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion