Nightwatch.js Web Application Test Automation

Learn Nightwatch.js, one of the hottest JavaScript test automation frameworks.

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

What you’ll learn

  • Learn to use Nightwatch to automate web application tests.
  • Learn to build a test automtation framework from scratch.
  • Learn to structure your test using the Page Object Model.
  • Learn to use multiple types of validation methods.

Course Content

  • Introduction –> 3 lectures • 5min.
  • Tools for this course –> 4 lectures • 13min.
  • HTML and CSS refresher –> 3 lectures • 34min.
  • JavaScript refresher –> 5 lectures • 46min.
  • Getting started with Nightwatch.js –> 7 lectures • 13min.
  • Understanding test cases in Nightwatch –> 4 lectures • 21min.
  • Interacting with elements in our test –> 4 lectures • 19min.
  • Exercise 1: Interacting with Elements –> 3 lectures • 14min.
  • Being selective about which tests run –> 5 lectures • 16min.
  • Page navigation –> 4 lectures • 15min.
  • Interacting with alerts –> 2 lectures • 11min.
  • Assert and Verify –> 7 lectures • 41min.
  • Expect –> 7 lectures • 27min.
  • Exercise 2: Assertions –> 3 lectures • 17min.
  • Page objects –> 5 lectures • 25min.
  • Exercise 3: Page objects –> 3 lectures • 13min.
  • Final section –> 1 lecture • 1min.

Auto Draft


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

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 Nightwatch.js.  We will be using Version 1.7 of Nightwatch.js in this course.

Together we will be writing scripts that automate the testing of front-end applications. Over 5 hours of interactive content, including 3 challenge exercises.


What we will cover:

  • Basic HTML, CSS, and JavaScript
  • Installing Nightwatch.js
  • Writing tests to:
    • Interact with elements
    • Validate data and existence of elements
    • Navigate and validate browser level properties
    • Alerts
    • Validations with verify, assert and expect
  • Page object model
  • Tagging and selecting tests for runs


What is front-end web application test automation?

The “front-end” refers to the user interface. Or in the case of web applications, the website. 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 do 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.


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.


I look forward to having you join my class!

Get Tutorial