WebdriverIO - Selenium Webdriver using Node.js & More!
4.4 (879 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.
3,615 students enrolled

WebdriverIO - Selenium Webdriver using Node.js & More!

JavaScript Automation Testing - Webdriver IO 's next-gen testing framework for Node.js using Selenium Webdriver & more!
4.4 (879 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.
3,615 students enrolled
Created by Gianni Bruno
Last updated 10/2019
English [Auto]
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 17 hours on-demand video
  • 6 articles
  • 339 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
  • Automation testing using JavaScript, WebdriverIO, Selenium, NodeJS, Chai, Mocha, Jenkins, Reporting & More!
  • This is a complete course that will teach you from the basics to building advanced frameworks
  • A free 200+ page E-Book is included to help students learn and revise
  • Continuous Integration & Reporting via Jenkins
  • You are taught good programming concepts such as abstraction, don't repeat yourself and Page Object Modelling
Course content
Expand all 181 lectures 17:12:45
+ Introduction
5 lectures 07:20

Course introduction video. Here I explain the technologies we will be covering and what is included in this course.

Preview 02:46

In this lecture, I demonstrate the simplicity and speed of a JavaScript test using WebdriverIO and Selenium

Preview 02:54
How Course Attachment Code Examples are Structured
Free 200+ Page E-book Download - To help you revise
+ Setup & Resources
9 lectures 35:18

Git Bash for Windows is a package that is comprised of two parts: git which is a version control system (VCS) which tracks the file changes, commonly used for programming in a team setting. bash is a Linux-based command line (which has been ported over to Windows).

In this lecture, I teach you how to download and setup GitBash for which we will use extensively during this course.

Preview 02:22

iTerm2 is a replacement for Terminal and the successor to iTerm. It works on Macs with macOS 10.10 or newer. iTerm2 brings the terminal into the modern age with features you never knew you always wanted. It’s features rich and provides several additional features above the standard terminal which will make it easier to run our tests.

In this lecture, I show how Mac users can download and install iTerm2 and how to set the tool up successfully.

Preview 00:51

The Webdriver IO API page contains reference materials for all implemented selenium bindings and commands. WebdriverIO has all JSONWire protocol commands implemented and also supports special bindings for Appium.

WebdriverIO API
IMPORTANT: WebdriverIO v4 & NodeJS

NodeJS is a JavaScript runtime environment which includes everything you need to execute a program written in JavaScript. It’s built on Chrome’s V8 JavaScript engine. Node.js’ package ecosystem, npm, is the largest ecosystem of open source libraries in the world.     

NodeJS npm Package JSON Setup

WebdriverIO released a version update (to v.5) on the 17th December 2018. I will add a new section to explain the changes made very soon, but in the meantime please ensure to read this lecture note otherwise you will come across an error.

IMPORTANT - note about the following two lectures - Please Read

npm is a package manager for Javascript and it the worlds largest software registry. The registry consists of code that can be reused in your project (rather than having to rewrite it yourself!). In this lecture, I show you how to handle package dependencies.

Handling Dependencies

Selenium Standalone is a node based CLI library for launching Selenium with WebDrivers support. Basically, it’s a way for us to use Selenium which is needed to run our automation tests. As explained in the NodeJS/ NPM lecture, we can instruct our project to use dependencies and in this case we are calling the selenium-standalone library.

Selenium Standalone acts as a middle layer between our automation framework and our browsers. It passes on test messages to the relevant browser that will then run our test against the application that’s in scope.

Selenium Standalone Setup

Sublime Text is a proprietary cross-platform source code editor with a Python application programming interface (API). It natively supports many programming languages and markup languages, and functions can be added by users with plugins, typically community-built and maintained under free-software licenses.

Sublime Text IDE Setup
Setup & Resources - Quiz
4 questions
+ Creating Our First Tests
2 lectures 16:16

In this lecture we use one of the available demonstration tests found on the webdriver.io homepage to create our first test.

Preview 07:15

In this lecture, we look at creating and executing a second test that uses the contact us form on webdriveruniversity.com. Contact forms on websites can be quite tricky because there is usually validation in place before it can be submitted (e.g. you need to fill in the mandatory fields before you can submit the request). We can formulate tests to ensure we test all scenarios but, in this case, we want to keep things simple to demonstrate how little code is needed to direct our tests to the contact us form.

Creating Our Second Automation Test
Creating Our First Tests - Quiz
2 questions
+ Wdio
5 lectures 18:23

The main purpose of WebdriverIO is end-to-end testing on a big scale. Webdriverio provides a test runner (wdio) that helps you to build a reliable test suite that is easy to read and maintain. The test runner takes care of many problems you are usually facing when working with plain automation libraries. For one, it organizes your test runs and splits up test specs, so your tests can be executed with maximum concurrency. It also handles session management and provides a lot of features that help you to debug problems and find errors in your tests.

Preview 06:41

In this lecture, we look at triggering tests using the wdio file.

Wdio - Triggering Tests

In this lecture, I start showing you how we can use the wdio file to trigger our ‘contactUsTest’ and ‘loginPortalTest’ tests.

Wdio - Contact Us & Login Portal Test

In this lecture, we continue to work towards getting out wdiofile to execute our ‘contactUsTest’ and ‘loginPortalTest’ tests and actually execute to test with an example.

Wdio - Executing Our New & Improved Tests

In this lecture, we take a more detailed look at the WDIO file and review some of the key sections of code.

Wdio - Reviewing the Wdio File
Wdio - Quiz
3 questions
+ Mocha
4 lectures 18:12

In this lecture, I introduce you to Mocha. Here I explain its purpose, why we should use it and the benefits.

Preview 04:02

In this lecture we’ll start using Mocha to form our test cases. We are going to combine our two existing tests into one .js file and then use Mocha to construct our tests.

Mocha - Structuring & Combining Tests Part 1

In this lecture we continue with the changes being explained in Part 1.

Mocha - Structuring & Combining Tests Part 2

In this lecture we review our changes from part 1 and 2 and execute our new and improved tests.

Mocha - Reviewing & Executing our New & Improved Tests
Mocha - Quiz
3 questions
+ Wdio Sync Mode
2 lectures 10:09

In this lecture, we take a look at Sync mode and the difference between Synchronous and asynchronous requests.

Simplifying Tests and Sync Mode

In this lecture, we look at changing our wdio.conf file to show you how we can run our tests asynchronously, if needed.

Configuring Our Tests to Use Sync Mode
+ Selenium Standalone & NPM Scripts
1 lecture 04:34

In this lecture we looked at the Selenium Standalone Service where I show you how we could use npm scripts to enhance our framework.

Selenium Standalone & NPM Scripts
Selenium Standalone & NPM Scripts - Quiz
2 questions
+ Environments & Base URL
2 lectures 10:12

In this module, we look at setting a base URL and handling multiple environments/ websites at runtime.

Base URL Setup

In this lecture, we looked at handling multiple environments during runtime. This is a common scenario, as most companies will use multiple environments to perform different tests in the real world.

For example, a company may have a website to perform sprint related work. They may have another website to perform regression testing. In this lecture, we look at adding an IF statement in our WDIO file to handle this situation.

Handling Multiple Environments During Runtime
Environments & Base URL - Quiz
2 questions
+ Logging
1 lecture 02:24

In this lecture we looked at logging additional information when running our tests. This will greatly help when debugging our code.  

Logging During Runtime
Logging - Quiz
1 question
+ Node Assertions
1 lecture 06:40

The assert module provides a way of testing expressions. For example, if the expression evaluates to 0, or false, an assertion failure is being caused, and the program is terminated. Think of assertions as a condition (e.g. we expect result A to be returned and if result A does not return then the test should fail).

Implementing Node Assertions
Node Assertions - Quiz
2 questions
  • Some basic knowledge of programming would be an advantage
  • Some basic knowledge of selenium would be an advantage
  • Some basic knowledge of testing concepts (either manual or automation) would be an advantage

** Number 1 rated course for WebdriverIO on Udemy **

** 200+ page e-book of lecture screenshots and notes included to help students revise **

** Course Updated on 10/2019 with 6 hours of brand new up-to-date content! **

This course teaches you the following technologies:

  1. Fundamentals of WebdriverIO using version 4 & 5 -  Note the the core foundations of WebdriverIO remains the same between versions. WebdriverIO in itself is a JavaScript / node.js implementation of the (Selenium 2.0) WebDriver API

  2. What is new in version 5 - a dedicated section to go over the key differences in version 5.

  3. JavaScript - is an object-oriented computer programming language commonly used to create interactive effects within web browsers.

  4. Selenium - is a suite of tools to automate web browsers across many platforms. 

  5. NodeJS - is a run-time environment which includes everything you need to execute a program written in JavaScript. 

  6. Mocha - is a feature-rich JavaScript test framework running on Node.js and in the browser, making asynchronous testing simple and fun.

  7. Chai - is an assertion library that is often used alongside Mocha. It provides functions and methods that help you compare the output of a certain test with its expected value. 

  8. Advanced Reporting (allure reports, J-unit Reports, JSON reports & more) - detailed, visual appealing, useful report outputs.

  9. Jenkins - is a simple way to set up a continuous integration and continuous delivery environment for almost any combination of languages and source code repositories

This course covers everything you need to create advanced frameworks using the WebdriverIO's Next-gen WebDriver test framework for Node.js.

What you will learn?

  1. This is a full course that teaches you from the basics all the way to building advanced frameworks!

  2. It uses JavaScript using WebdriverIO which is the modern way to build automation tests using a language that front-end developers are familiar with!

  3. You will learn technologies such as: NodeJS, JavaScript, Selenium, WebdriverIO,  Mocha, Chai, Wdio, Extent Reports, Jenkins (CI) and More!

  4. I teach you good code design concepts using Page Object Modelling (POM), Don't Repeat Yourself (DRY) and more!

  5. This course is practical. I walk you through everything and provide source code at each stage for you to follow along!

  6. You will gain invaluable knowledge after completing this course and will have skills that are in demand!

Who this course is for:
  • Beginner automation testers
  • Intermediate automation testers
  • Expert automation testers
  • Anyone interested in testing
  • Manual testers
  • Anyone that wants to learn about modern testing techniques
  • Those interested in emerging testing technologies that is rapidly growing in popularity