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
Course overview and lecturer introduction
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.
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
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
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
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.
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.
Preparing Tools in Windows Environment - added based on students feedback
Because latest Selenium WebDriver 2.46.0 supports Firefox 38, we can use it now
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.
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
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
Other Lectures based on students feedback
for a birthday javascript dropdown, how to select month, day and year : this is the link for it :
https://immerss.com/becoming-a-presenter/new_user_profile
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.