Selenium WebDriver Test Automation Framework With Real Project

Build Enterprise-Level Test Automation Framework with Real Web Gmail Project
4.4 (246 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
11,780 students enrolled
62% off
Take This Course
  • Lectures 44
  • Length 5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 5/2015 English

Course Description

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

What are the requirements?

  • The demo in this course is based on in MacOS environment. But all the tools we used are also available in Windows and Linux.

What am I going to get from this course?

  • 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.

Who is the target audience?

  • This course is for you if you want to learn in detail how to design and choose the right tools to build enterprise-level automation framework, including test execution, test categorize, test report and test scripts management
  • This course is ideal for Junior QA with some automation experience and want to become more familiar with industry best practices, so that they can advance their career to next level
  • This course is ideal for QA who want to implement WebUI based project, especially web email related, as the real project background is gmail WebUI automation

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Course Overview, Project Background and Framework Design
One-minute Course Quick Peek

Course overview and lecturer introduction

Real Project Business Requirement - Test Scenarios

The other business requirement for this Web UI automation test framework


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


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

Section 2: Automation Test Framework Implementation

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


Build our first Selenium WebDriver test


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


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


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


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


Encountered error message


Solve the challenge again

Section 3: Refactoring Test Framework with Page Object Design Pattern

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


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
Section 4: Test Category, Test Report and Further Studies

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


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.


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


End of Course

Section 5: Bonus

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.


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.

1 page

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


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

Section 6: 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

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

Run Sample Tests in Windows Environment using maven
Section 7: Get to know 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.

Section 8: Source Code

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

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.

Section 9: Interview Questions
Interview Questions
15 pages
Section 10: Other Lectures based on students feedback

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


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


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


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?


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

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Ken Ho, Test Team Lead

Worked in companies such as IBM, Microsoft and Thomson Reuters, I have 10+ years' experience in Software QA and development field, including 5+ years of building test automation framework for Web/Mobile UI testing and backend testing, and 2+ years as Java Developer.

I believe with mobile devices growing so quickly, automated web ui/mobile ui testing will become more and more important for companies, because it will improve the QA efficiency and accuracy dramatically.

Ready to start learning?
Take This Course