Section 1 : Introduction

Lecture 1 About Certification
Lecture 2 About Proctor Testing
Lecture 3 Please Watch!! WebdriverIO v4 & V5 - IMPORTANT 00:01:03 Duration
Lecture 4 How Course Attachment Code Examples are Structured
Lecture 5 Free 200+ Page E-book Download - To help you revise
Lecture 6 INTRODUCTION TO BRAINMEASURES PROCTOR SYSTEM

Section 2 : Setup & Resources

Lecture 1 Gitbash Setup for Windows 00:02:13 Duration
Lecture 2 iTerm2 Setup for Mac 00:00:42 Duration
Lecture 3 WebdriverIO API 00:01:31 Duration
Lecture 4 IMPORTANT WebdriverIO v4 & NodeJS
Lecture 5 NodeJS npm Package JSON Setup 00:08:06 Duration
Lecture 6 IMPORTANT - note about the following two lectures - Please Read
Lecture 7 Handling Dependencies 00:10:44 Duration
Lecture 8 Selenium Standalone Setup 00:08:47 Duration
Lecture 9 Sublime Text IDE Setup 00:01:24 Duration

Section 3 : Creating Our First Tests

Lecture 1 Creating Our First Automation Test 00:07:06 Duration
Lecture 2 Creating Our Second Automation Test 00:08:52 Duration

Section 4 : Wdio

Lecture 1 Wdio - Creation & Review 00:06:32 Duration
Lecture 2 Wdio - Triggering Tests 00:04:24 Duration
Lecture 3 Wdio - Contact Us & Login Portal Test 00:01:57 Duration
Lecture 4 Wdio - Executing Our New & Improved Tests 00:02:25 Duration
Lecture 5 Wdio - Reviewing the Wdio File 00:02:21 Duration

Section 5 : Mocha

Lecture 1 Mocha - Introduction 00:03:54 Duration
Lecture 2 Mocha - Structuring & Combining Tests Part 1 00:07:12 Duration
Lecture 3 Mocha - Structuring & Combining Tests Part 2 00:03:36 Duration
Lecture 4 Mocha - Reviewing & Executing our New & Improved Tests 00:02:57 Duration

Section 6 : Wdio Sync Mode

Lecture 1 Simplifying Tests and Sync Mode 00:04:53 Duration
Lecture 2 Configuring Our Tests to Use Sync Mode 00:05:00 Duration

Section 7 : Selenium Standalone & NPM Scripts

Lecture 1 Selenium Standalone & NPM Scripts 00:04:26 Duration

Section 8 : Environments & Base URL

Lecture 1 Base URL Setup 00:05:07 Duration
Lecture 2 Handling Multiple Environments During Runtime 00:04:47 Duration

Section 9 : Logging

Lecture 1 Logging During Runtime 00:02:16 Duration

Section 10 : Node Assertions

Lecture 1 Implementing Node Assertions 00:06:32 Duration

Section 11 : Chai

Lecture 1 Chai - Advanced Assertions & Code Example - Part 1 00:08:05 Duration
Lecture 2 Chai - Advanced Assertions & Code Example - Part 2 00:03:16 Duration
Lecture 3 Chai - Adding Assertions to our Tests 00:05:29 Duration
Lecture 4 Chai - Centralizing Assertions Using our wdio File 00:03:24 Duration

Section 12 : Pause, Debug Mode & Selectors

Lecture 1 Pause Command Part 1 00:06:39 Duration
Lecture 2 Pause Command Part 2 00:04:38 Duration
Lecture 3 Debug Mode 00:07:01 Duration
Lecture 4 Creating Selectors using Ranorex 00:07:06 Duration

Section 13 : Targeting & Skipping Specific Tests

Lecture 1 Targeting Specific Tests 00:02:36 Duration
Lecture 2 Skipping Specific Tests 00:01:07 Duration

Section 14 : CSS Extraction

Lecture 1 getCssProperty Command 00:07:35 Duration

Section 15 : Mocha Hooks

Lecture 1 Mocha Hooks Part 1
Lecture 2 Mocha Hooks Part 2 00:08:17 Duration

Section 16 : Handling Browser Window Tabs

Lecture 1 Tabs Part 1 00:05:54 Duration
Lecture 2 Tabs Part 2 00:08:41 Duration

Section 17 : Verify Elements

Lecture 1 isExisting Part 1 00:07:20 Duration
Lecture 2 isExisting Part 2 00:07:53 Duration
Lecture 3 isVisible 00:07:17 Duration
Lecture 4 hasFocus Part 1 00:07:43 Duration
Lecture 5 hasFocus Part 2 00:04:09 Duration
Lecture 6 isEnabled Part 1 00:08:28 Duration
Lecture 7 isEnabled Part 2 00:07:35 Duration
Lecture 8 isSelected Part 1 00:06:40 Duration
Lecture 9 isSelected Part 2 00:04:51 Duration
Lecture 10 isVisibleWithinViewport Part 1 00:06:24 Duration
Lecture 11 isVisibleWithinViewport Part 2 00:07:23 Duration
Lecture 12 getText, isVisible, isExisting Part 1 00:06:13 Duration
Lecture 13 getText, isVisible, isExisting Part 2 00:09:56 Duration
Lecture 14 getText, isVisible, isExisting Part 3 00:05:36 Duration
Lecture 15 waitForText Part 1 00:06:26 Duration
Lecture 16 waitForText Part 2 00:07:00 Duration
Lecture 17 waitForExist, waitForVisible Part 1 00:05:31 Duration
Lecture 18 waitForExist, waitForVisible Part 2 00:03:52 Duration
Lecture 19 waitUntil 00:08:37 Duration
Lecture 20 waitForValue 00:04:59 Duration

Section 18 : Using External Data (Sync Data Mode)

Lecture 1 Using External Data (Sync Data Mode) - Part 1 00:07:03 Duration
Lecture 2 Using External Data (Sync Data Mode) - Part 2 00:04:27 Duration

Section 19 : Custom Commands (addCommand)

Lecture 1 Custom Commands (addCommand) - Part 1 00:05:21 Duration
Lecture 2 Custom Commands (addCommand) - Part 2 00:06:34 Duration

Section 20 : Injecting JavaScript Code (Execute Command)

Lecture 1 Injecting JavaScript Code (Execute Command) - Part 1 00:07:52 Duration
Lecture 2 Injecting JavaScript Code (Execute Command) - Part 2 00:09:05 Duration
Lecture 3 Injecting JavaScript Code (Execute Command) - Part 3 00:02:16 Duration

Section 21 : Page Object Model (POM)

Lecture 1 Page Object Model (POM) - Intro 00:02:00 Duration
Lecture 2 Page Object Model (POM) - Phase 1 - Part 1 00:09:24 Duration
Lecture 3 Page Object Model (POM) - Phase 1 - Part 2 00:09:25 Duration
Lecture 4 Page Object Model (POM) - Phase 1 - Part 3 00:09:29 Duration
Lecture 5 Page Object Model (POM) - Phase 1 - Part 4 00:07:11 Duration
Lecture 6 Page Object Model (POM) - Phase 1 - Part 5 00:05:44 Duration
Lecture 7 Page Object Model (POM) - Phase 2 - Part 1 00:01:05 Duration
Lecture 8 Page Object Model (POM) - Phase 2 - Part 2 00:08:18 Duration
Lecture 9 Page Object Model (POM) - Phase 2 - Part 3 00:07:15 Duration
Lecture 10 Page Object Model (POM) - Phase 2 - Part 4 00:07:15 Duration
Lecture 11 Page Object Model (POM) - Phase 2 - Part 5 00:07:52 Duration
Lecture 12 Page Object Model (POM) - Phase 2 - Part 6 00:04:53 Duration
Lecture 13 Page Object Model (POM) - Phase 3 - Part 1 00:00:34 Duration
Lecture 14 Page Object Model (POM) - Phase 3 - Part 2 00:04:59 Duration
Lecture 15 Page Object Model (POM) - Phase 3 - Part 3 00:06:07 Duration
Lecture 16 Page Object Model (POM) - Phase 3 - Part 4 00:04:37 Duration
Lecture 17 Page Object Model (POM) - Phase 3 - Part 5 00:06:28 Duration
Lecture 18 Page Object Model (POM) - Phase 3 - Part 6 00:03:54 Duration

Section 22 : Advanced Reporting

Lecture 1 Advanced Reporting - Intro 00:02:08 Duration
Lecture 2 Advanced Reporting - Junit Reports 00:05:00 Duration
Lecture 3 Advanced Reporting - JSON Reports 00:05:46 Duration
Lecture 4 Advanced Reporting - Allure Reports 00:08:56 Duration
Lecture 5 Advanced Reporting - Allure Reports - Attaching Images - Part 1 00:08:06 Duration
Lecture 6 Advanced Reporting - Allure Reports - Attaching Images - Part 2 00:05:18 Duration

Section 23 : Free Up Space - Deleting Files and Folders

Lecture 1 Free Up Space - Deleting Files and Folders 00:04:28 Duration

Section 24 : Continuous Integration (Jenkins Setup, Generating Cucumber]

Lecture 1 Jenkins Introduction and Explanation 00:01:54 Duration
Lecture 2 Jenkins Installation And Setup
Lecture 3 Jenkins Installing Plugins And Setting Up NodeJS 00:07:38 Duration
Lecture 4 Trigger our Tests using Jenkin 00:10:04 Duration
Lecture 5 Jenkins Adding Parameters 00:13:37 Duration
Lecture 6 Jenkins Adding Additional Logging Information 00:03:56 Duration
Lecture 7 Jenkins Execute Our Tests when Ever We Want 00:04:51 Duration

Section 25 : Generating Allure Reports within Jenkins

Lecture 1 Generating Allure Reports within Jenkins - Part 1 00:07:57 Duration
Lecture 2 Generating Allure Reports within Jenkins - Part 2 00:09:33 Duration
Lecture 3 Generating Allure Reports within Jenkins - Part 3 00:10:32 Duration
Lecture 4 Generating Allure Reports within Jenkins - Part 4 00:08:31 Duration
Lecture 5 Generating Allure Reports within Jenkins - Part 5 00:03:09 Duration

Section 26 : Upgrading Our Existing WebdrverIO v4 Project to WebDriverIO v5

Lecture 1 Webdriver IO v5 - Introduction 00:02:44 Duration
Lecture 2 Preparing our Project for Webdriver IO v5
Lecture 3 Webdriver IO v5 - Instructions 00:00:51 Duration
Lecture 4 Downloading Webdriver IO v5 Packages 00:04:08 Duration
Lecture 5 Installing New WDIO CLI 00:01:15 Duration
Lecture 6 Creating New WDIO CLI File 00:03:18 Duration
Lecture 7 Configuring New WDIO CLI File 00:07:45 Duration
Lecture 8 Updating our Dependencies 00:06:02 Duration
Lecture 9 Downloading Additional Dependencies 00:02:07 Duration
Lecture 10 Potential Problem with the 00:01:35 Duration
Lecture 11 Preparing the Foundations of our Framework 00:04:15 Duration
Lecture 12 Modifying our Test to use Async Await 00:03:45 Duration
Lecture 13 Customising our Page Object Model Command 00:09:52 Duration
Lecture 14 Custom Commands - waitForDisplayed 00:07:19 Duration
Lecture 15 Adding Assertions Directly Inside our Tests 00:05:00 Duration
Lecture 16 Triggering our New Webdriver IO v5 Tests 00:03:40 Duration
Lecture 17 Incorporating Try Catch Blocks to our Assertions 00:06:13 Duration
Lecture 18 Final Project Code

Section 27 : WebdriverIO V5 from Scratch!

Lecture 1 Intro

Section 28 : Visual Studio Code (IDE)

Lecture 1 Installing and setting up Visual Studio Code 00:01:49 Duration
Lecture 2 Setting up Code Runner Extension 00:03:51 Duration
Lecture 3 Altering Color Themes 00:01:26 Duration

Section 29 : Setting Up Our WebdriverIO v5 Project

Lecture 1 Installing latest version of NodeJS 00:03:53 Duration
Lecture 2 Package 00:03:09 Duration
Lecture 3 Downloading Latest WebdriverIO v5 Packages 00:03:37 Duration

Section 30 : Prettier Setup

Lecture 1 Prettier Setup (Enhanced Code Formatter) 00:04:37 Duration

Section 31 : Configuring New Wdio File

Lecture 1 Wdio File Setup 00:04:08 Duration

Section 32 : Babel

Lecture 1 Babel Setup 00:05:34 Duration

Section 33 : Selenium Server

Lecture 1 Selenium Server Overview 00:05:17 Duration

Section 34 : Creating Our First WebdriverIO v5 Test!

Lecture 1 Creating Our First Test - Part 12 00:08:52 Duration
Lecture 2 Creating Our First Test - Part 22 00:07:02 Duration

Section 35 : Selenium Server Extended - [Port Number Modification]

Lecture 1 Altering Selenium Server Port Number 00:05:05 Duration

Section 36 : ChromeDriver

Lecture 1 ChromeDriver Setup 00:04:41 Duration

Section 37 : Selectors

Lecture 1 Creating Advanced Selectors - Part 12 00:09:16 Duration
Lecture 2 Creating Advanced Selectors - Part 22 00:09:11 Duration

Section 38 : Handling Browser Tabs

Lecture 1 Switching Browser Tabs 00:07:53 Duration
Lecture 2 Closing Browser Tabs 00:03:35 Duration

Section 39 : Chai - [Assertions]

Lecture 1 Applying Chai Assertions To Our Tests 00:10:48 Duration

Section 40 : Custom Commands

Lecture 1 Creating Custom Commands Using addCommand 00:07:02 Duration

Section 41 : Handling Timeouts - [waitForExist, waitForDisplayed, waitForEnabled]

Lecture 1 waitForExist 00:06:27 Duration
Lecture 2 waitForDisplayed 00:06:18 Duration
Lecture 3 waitForEnabled 00:06:37 Duration
Lecture 4 pause 00:03:31 Duration

Section 42 : Injecting JavaScript Using execute Command

Lecture 1 execute Command 00:06:19 Duration

Section 43 : Handling Inputs - [addValue, clearValue, setValue]

Lecture 1 Handling Inputs - Part 12 00:09:16 Duration
Lecture 2 Handling Inputs - Part 22 00:04:09 Duration

Section 44 : State Commands - [isExisting, isSelected, isDisplayed]

Lecture 1 isExisting, isSelected, isDisplayed 00:10:41 Duration

Section 45 : Handling IFrame's

Lecture 1 Handling IFrame's The Correct Way! 00:09:50 Duration

Section 46 : Test Creation - Challenge!

Lecture 1 Challenge Overview
Lecture 2 Challenge Solution - Part 13 00:07:38 Duration
Lecture 3 Challenge Solution - Part 23 00:09:05 Duration
Lecture 4 Challenge Solution - Part 33 00:08:34 Duration

Section 47 : Config File Creation (Centralising & Managing Variables)

Lecture 1 Config File Creation & Linking To Tests 00:07:46 Duration
Lecture 2 Interlinking Config File With Wdio File 00:05:47 Duration

Section 48 : Custom Commands - [waitAndClick, waitAndSendkeys]

Lecture 1 waitAndClick 00:06:03 Duration
Lecture 2 waitAndSendkeys 00:04:22 Duration
Lecture 3 Custom Commands & Test Integration 00:08:44 Duration

Section 49 : Random Data Generators

Lecture 1 Random Email Generator - [Custom Command Creation] 00:06:14 Duration
Lecture 2 Random String Generator - [Custom Command Creation] 00:07:15 Duration

Section 50 : Page Object Pattern

Lecture 1 Base Page Creation 00:06:51 Duration
Lecture 2 Sub Page Creation - Part 12
Lecture 3 Sub Page Creation - Part 22 00:08:01 Duration
Lecture 4 Page Object Pattern & Test Connection - Part 13 00:07:53 Duration
Lecture 5 Page Object Pattern & Test Connection - Part 23 00:07:29 Duration
Lecture 6 Page Object Pattern & Test Connection - Part 33 00:04:31 Duration

Section 51 : Framework Improvements

Lecture 1 Making Improvements To The Existing Framework - Part 12 00:09:51 Duration
Lecture 2 Making Improvements To The Existing Framework - Part 22 00:03:31 Duration

Section 52 : Organizing Test Suite's

Lecture 1 Organizing Test Suite's - Part 12 00:07:21 Duration
Lecture 2 Organizing Test Suite's - Part 22 00:05:55 Duration
Lecture 3 Retry Flaky Tests 00:05:34 Duration