Selenium WebDriver Test Automation Framework With Real Project
4.0 (295 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.
12,000 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Selenium WebDriver Test Automation Framework With Real Project to your Wishlist.

Add to Wishlist

Selenium WebDriver Test Automation Framework With Real Project

Build Enterprise-Level Test Automation Framework with Real Web Gmail Project
4.0 (295 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.
12,000 students enrolled
Created by Ken Ho
Last updated 4/2016
English [Auto-generated]
Current price: $10 Original price: $40 Discount: 75% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 4.5 hours on-demand video
  • 2 Articles
  • 3 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • 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.
View Curriculum
  • The demo in this course is based on in MacOS environment. But all the tools we used are also available in Windows and Linux.

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
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
Students Who Viewed This Course Also Viewed
Curriculum For This Course
44 Lectures
Course Overview, Project Background and Framework Design
6 Lectures 14:34

Course overview and lecturer introduction

Preview 01:40

The other business requirement for this Web UI automation test framework

Preview 02:02

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

Preview 03:53

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

Manual Walk Through the test scenarios
Automation Test Framework Implementation
8 Lectures 01:43:56

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

Prepare Necessary Tools in MacOS Environment

Build our first Selenium WebDriver test

Build First Automated Test

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

Solve the challenge and complete first test scenario

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

Using Version Control System - Git

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

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

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 - find patterns

Encountered error message

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

Solve the challenge again

Complete Another Test Scenario - Send email and receive email - Congratulations!
Refactoring Test Framework with Page Object Design Pattern
5 Lectures 55:30

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

Commit code updates before continue next step

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 First Test Case with Page Object Design Pattern

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
4 Lectures 21:06

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

Use JUnit Category and Maven Profile to Run Test Groups

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.

Use Apache SureFire Report to generate HTML test report

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

Preview 06:48

End of Course

Congratulations and Further Studies to help you advance your career!
4 Lectures 13:53

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.

Test Result Analysis and Test Scripts maintenance

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.

Cross-Browser Testing Setup with Chrome as Example

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

XPath and CssSelectors Simplified Cheat Sheet
1 page

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

XPath and CssSelectors Usage Examples
Preparing Tools in Windows Environment - added based on students feedback
7 Lectures 25:01
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

Install Firefox38 for newly released Selenium 2.46.0

Run Sample Tests in Windows Environment using maven
Get to know Selenium Grid
1 Lecture 08:13

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

The simplest form of using Selenium Grid
Source Code
3 Lectures 07:39

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

Code Update on Nov 21, 2015

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.

Set Git to use your own repo
Interview Questions
1 Lecture 00:00
Interview Questions
15 pages
Other Lectures based on students feedback
5 Lectures 23:55

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

How to interact with JavaScript Select Dropdown options

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

How to group and prioritize tests with testNG and Maven

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

Can I get the presentations?

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?

Is CSS Selector faster than XPATH?

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

How to take screenshot on test failure?
About the Instructor
Ken Ho
3.9 Average rating
343 Reviews
22,568 Students
4 Courses
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.