WebdriverIO: Automate Front-End Web Application Testing
3.7 (14 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
80 students enrolled

WebdriverIO: Automate Front-End Web Application Testing

Automate your web application tests with the powerful WebdriverIO testing framework
3.7 (14 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
80 students enrolled
Created by Jason Myers
Last updated 2/2020
English
English [Auto-generated]
Current price: $12.99 Original price: $24.99 Discount: 48% off
30-Day Money-Back Guarantee
This course includes
  • 23.5 hours on-demand video
  • 4 articles
  • 17 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Learn how to plan for automated tests and use best practices
  • Learn to use WebdriverIO to automate web applications
  • Learn to use the Mocha unit testing framework with Chai assertions
  • Learn to use tools including GIT, GITHUB, Node, Chrome Developer Tools, Visual Studio Code, Mocha, Chai, and WebdriverIO
Requirements
  • Windows or Mac computer
  • Basic HTML and CSS skills are recommended but not required
  • Basic Javascript skills are recommended but not required
  • All software used is free
Description

Learning to automate web application testing shouldn't be hard!

In this course, I will be guiding you through the steps needed to create front-end web application test automation using WebdriverIO.  We will be using Version 5 of WebdriverIO in this course.

Together we will be writing scripts that automate the testing of front-end applications that use vanilla Javascript, React, and Angular.


What is front-end web application test automation?

The "front-end" refers to the user interface. Or in the case of web applications, the web site. Everything that you can see and interact with is part of the front-end.

We automate the front-end to simulate the user experience of someone using the application. Through automation, we can pretend to be a user to make sure our site is working as expected.


What do I need to know to be successful in this course?

This course is designed for entry-level engineers. I will be going over everything that you need to get started being successful as a test automation engineer.

But here are a few things that will definitely help in your journey:

  • Experience with manual testing of web applications

  • Good Javascript experience (I will briefly review the important parts for this course)

  • Good HTML and CSS experience (I will briefly review the important parts for this course)

The most important thing to be successful is that you need to do the work. Don't skip videos unless you are 100% sure you know the material. You need to be coding right along with me every step of the way.


Why we need front-end test automation?

Test automation of any kind is in high demand. The days of the manual test engineer is quickly coming to an end.

Companies want to deliver code more often and faster.

What does that mean?

The development cycle to build, test, and release code is becoming shorter. Having a constant delivery cycle is forcing teams to integrate automation into every part of the process.

The major parts of the cycle that need to be automated are:

- Build

- Release

- Unit Testing

- Regression Testing


QA is responsible for integration testing.

One of the most time-consuming parts of the development cycle is regression testing.

Teams spend hours or days re-testing features that they have already tested hundreds of times.

Why?

Changes in the codebase can cause downhill effects on other features. Things break all the time.

Never assume the code is always going to work!


For these reasons, we build automated tests.


Why use WebdriverIO?

The most common question I get asked when building test automation is why not just use Selenium?

WebdriverIO is using a custom implementation of Selenium's Webdriver...

What does that mean?

It means that you are basically using Selenium. But with WebdriverIO you get a lot of extras that make creating tests faster and easier than if you just use Selenium.


What we will cover:

  • Preparing for automated testing

    Who should do the automation and with what tools?

  • Using open-source tools and applications in our testing

    Tools include GIT, GITHUB, Node.js, Chrome Developer Tools, Visual Studio Code, Mocha, Chai, and WebdriverIO.

  • Automating web applications interactions without a framework

  • Using the Mocha unit testing framework to test your code

  • Node.js and Chai assertions

  • Coding standards with ESLint and Prettier

  • Writing automated tests that interact with the most common web-application elements

  • Adding validations to our tests

  • Configuring tests to run against different browsers or test environments

  • Using Allure reports to generate beautiful reports that include screenshots and videos


Build a repository to showcase your skills

We will be utilizing GIT and GITHUB to create repositories for our bigger projects.

The goal is that I want you to have good quality examples that you can easily share with your boss or future employers.


I look forward to having you join my class!

Who this course is for:
  • Beginner QA engineers looking to learn web application test automation
  • Development teams looking to add front-end automation tests
Course content
Expand all 171 lectures 23:18:43
+ Preparing for automation
5 lectures 54:11
Preparing for automation introduction
00:28
Planning for automated testing
25:50
Choosing the correct tool for test automation
08:04
Developing for automated tests
04:41
Strategy for automated testing
15:08
+ Git & Github
8 lectures 37:35
Introduction to Git and Github
02:05
Setup Git on your machine
08:23
Setup Git on your machine - Text Version
00:52
Add, Commit, Push
10:26
Branch and merge
04:51
Fetch, Checkout, Pull
04:46
Using gitignore
03:42
Fork
02:30
+ HTML and CSS refresher
3 lectures 36:00
Introduction to HTML and CSS refresher
02:38
HTML refresher
22:08
CSS refresher
11:14
+ JavaScript refresher
6 lectures 47:05
Introduction to JavaScript refresher
01:04
Additional resource for learning JavaScript
00:06
JavaScript refresher
19:06
Objects and JSON data
13:31
Classes
10:22
Callback functions
02:56
+ Overview of Node.js
5 lectures 16:00
Introduction to Node.js
01:19
Node.js version for this course
00:16
Installing Node.js
01:21
Executing JavaScript
03:21
Installing packages
09:43
+ Chrome developer tools
6 lectures 26:33
Introduction to Chrome developer tools
00:49
Developer Tools
03:55
Viewing and Altering the DOM
05:58
Executing code in the console
03:38
Finding elements using the DOM
07:07
Finding elements using JavaScript
05:06
+ Automating the web without a framework
6 lectures 25:16
Introduction to automating the web without a framework
00:43
Adding user actions
04:20
Creating reusable element variables
04:18
Adding logic to actions
03:46
Looping through actions
05:16
Creating reusable action functions
06:53
+ Mocha & Chai unit test framework
12 lectures 41:37
Introduction to Mocha
00:20
Installing Mocha
02:41
Writing a test in Mocha
06:46
Before and After
04:05
Including and Excluding tests
03:24
Reporters
01:51
Introduction to Chai
00:42
Installing Chai
01:59
Assertion options
02:09
Expect assertions
11:46
Should assertions
03:41
Assert assertions
02:13
+ Enforcing coding standards
4 lectures 33:40
Introduction to enforcing coding standards
02:31
Installing ESLint
09:32
ESLint in practice
13:56
Updating our rules
07:41