Webdriverio Bootcamp - [Completely Updated In June 2022]
Last updated 8/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 18.28 GB | Duration: 31h 54m
Last updated 8/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 18.28 GB | Duration: 31h 54m
Automation testing with the WebdriverIO next-generation framework using JavaScript & Node.js
What you'll learn
WebdriverIO in detail using JavaScript and NodeJS
How to create a highly advanced framework using WebdriverIO
The basics all the way to advanced subjects
Advanced reporting and continuous integration using Jenkins
Everything you need to know to write automation tests using WebdriverIO
Requirements
A basic understanding of programming would be useful (but not necessary)
A basic understanding of testing would be useful (but not necessary)
Description
************************************************************ The course has been completely updated in May 2022 ************************************************************OVER 5000 STUDENTS ENROLLED ON THIS COURSE TO DATEWhat is WebdriverIO?WebdriverIO is an open-source testing automation framework written in JavaScript and running on NodeJS. It is particularly useful for testing web applications. It supports both Behavior Driven Development (BDD) and Test Driven Development (TDD), making it a highly preferred choice for automation testers.Why this course?This course is designed to be effective, efficient and easy to follow. I have been teaching for several years on Udemy with over 6 highly successful courses to date. I have refined this course using proven teaching techniques. This course is carefully structured from start to finish and I provide downloadable code examples after each coding lecture. What has been updated?Everything! I have rebuilt this course from scratch using one of the latest versions of WebdriverIO. This means the material covered is relevant, making use of WebdriverIO's latest features. What does this course cover?All major topics are covered in detail using the below structure:IntroductionWebdriverIO setupWDIO TestRunnerSimple real world scenariosSynchronous vs Asynchronous - (Understanding Asynchronous JS)Locating ElementsWaits and TimeoutsAssertionsDebuggingAdvanced Element InteractionsReportingAdvanced Real World ExampleAdvanced ConceptsJenkins CI and More!What to expect by the end of this course?You will be completely confident building automation frameworks using WebdriverIO and a whole host of complementing technologies. This is the only course you need to learn Automation Testing using the WebdriverIO framework.
Overview
Section 1: Introduction
Lecture 1 What is WebdrverIO?
Lecture 2 WebdriverIO API
Lecture 3 WebdriverIO Community
Lecture 4 How Course Attachment Code Examples are Structured
Lecture 5 Other Courses - (Coupon Codes)
Section 2: Setup Development Environment
Lecture 6 Nodejs - Setup
Lecture 7 Visual Studio Code & Extensions - Setup
Lecture 8 Chrome & Firefox - Setup
Lecture 9 Git - Setup
Lecture 10 Project & Package.json - Setup
Lecture 11 WebdriverIO Wdio - Setup
Lecture 12 Keeping WebdriveIO Up to Date
Section 3: Wdio - Testrunner
Lecture 13 Wdio - Testrunner
Section 4: Simple Real World Scenario
Lecture 14 System Under Test
Lecture 15 What is Mocha? & How can we Leverage Mocha?
Lecture 16 Capturing Test Requirements
Lecture 17 API Commands & Auto Completion
Lecture 18 First Test - Creation - Part 1_2
Lecture 19 First Test - Creation - Part 2_2
Lecture 20 The Test Challenge
Lecture 21 The Test Challenge - Solution
Lecture 22 Recap and Improvements
Lecture 23 Wdio Browser Object - Inspection
Section 5: Synchronous vs Asynchronous - (Understanding Asynchronous JS)
Lecture 24 WebdriverIO - Sync vs Async Mode
Lecture 25 Synchronous vs Asynchronous - Overview
Lecture 26 Synchronous - Example
Lecture 27 Asynchronous - Example
Lecture 28 WebdriverIO Sync vs Async - Example
Section 6: Locating Elements
Lecture 29 Locating Elements - Examples
Lecture 30 $ - findElement
Lecture 31 $$ - findElements
Section 7: Waits and Timeouts
Lecture 32 pause
Lecture 33 waitForClickable
Lecture 34 waitForDisplayed
Lecture 35 waitForExist
Lecture 36 waitUntil
Section 8: Assertions
Lecture 37 Introduction
Lecture 38 Expect vs Jest
Section 9: Debugging
Lecture 39 Console.log & Wdio Logging
Lecture 40 Debug
Lecture 41 REPL
Section 10: Advanced Element Interactions
Lecture 42 Inputs
Lecture 43 Drop-down Lists
Lecture 44 State Commands
Lecture 45 Actions
Lecture 46 Handling Windows
Lecture 47 IFrames
Lecture 48 Alerts
Lecture 49 File Upload
Lecture 50 JS Execute
Section 11: Reporting
Lecture 51 Allure Reports
Lecture 52 Attaching Screenshots
Lecture 53 Autogenerate Reports
Lecture 54 Customising Reports
Section 12: Advanced Real World Example
Lecture 55 System Under Test
Lecture 56 Capturing Test Requirements
Lecture 57 Test Creation - Part 1/8
Lecture 58 Test Creation - Part 2/8
Lecture 59 Test Creation - Part 3/8
Lecture 60 Test Creation - Part 4/8
Lecture 61 Test Creation - Part 5/8
Lecture 62 Test Creation - Part 6/8
Lecture 63 Test Creation - Part 7/8
Lecture 64 Test Creation - Part 8/8
Section 13: Advanced Concepts
Lecture 65 Wdio Hooks
Lecture 66 Retry Flaky Tests
Lecture 67 Custom Commands
Lecture 68 Page Object Modelling - Introduction
Lecture 69 POM - Base Page - Setup
Lecture 70 POM - Sub Page - Setup - Part 1_2
Lecture 71 POM - Sub Page - Setup - Part 2_2
Lecture 72 POM - Real World Example - Part 1_4
Lecture 73 POM - Real World Example - Part 2_4
Lecture 74 POM - Real World Example - Part 3_4
Lecture 75 POM - Real World Example - Part 4_4
Lecture 76 POM - Challenge
Lecture 77 POM - Solution
Lecture 78 Generating Random Data
Lecture 79 Custom Scripts & Test Suites
Lecture 80 Parallel Test Execution - selenium-standalone
Lecture 81 Parallel Test Execution - Browser Drivers
Lecture 82 Browser Options
Lecture 83 Managing Different Environments - Part 1/2
Lecture 84 Managing Different Environments - Part 2/2
Section 14: Other Courses - [**Coupon Codes**]
Lecture 85 Other Course - [**Coupon Codes**]
Section 15: Jenkins CI and More!
Lecture 86 Jenkins - Download
Lecture 87 Java JDK - Setup
Lecture 88 Jenkins - Setup
Lecture 89 Configuring Jenkins
Lecture 90 Job - Creation
Lecture 91 Triggering Custom Scripts
Lecture 92 Triggering Individual Tests
Lecture 93 Log Level - Parameters
Lecture 94 Allure Reports
Lecture 95 Improving Test Robustness
Section 16: [Archived] - Introduction
Lecture 96 Introduction
Lecture 97 Example Test Execution using webdriverIO & webdriveruniveristy.com
Lecture 98 Please Watch!! WebdriverIO v4 & V5 - IMPORTANT
Lecture 99 Free 200+ Page E-book Download - To help you revise
Section 17: [Archived] - Setup & Resources
Lecture 100 Gitbash Setup for Windows
Lecture 101 iTerm2 Setup for Mac
Lecture 102 WebdriverIO API
Lecture 103 IMPORTANT: WebdriverIO v4 & NodeJS
Lecture 104 NodeJS npm Package JSON Setup
Lecture 105 IMPORTANT - note about the following two lectures - Please Read
Lecture 106 Handling Dependencies
Lecture 107 Selenium Standalone Setup
Lecture 108 Sublime Text IDE Setup
Section 18: [Archived] - Creating Our First Tests
Lecture 109 Creating Our First Automation Test
Lecture 110 Creating Our Second Automation Test
Section 19: [Archived] - Wdio
Lecture 111 Wdio - Creation & Review
Lecture 112 Wdio - Triggering Tests
Lecture 113 Wdio - Contact Us & Login Portal Test
Lecture 114 Wdio - Executing Our New & Improved Tests
Lecture 115 Wdio - Reviewing the Wdio File
Section 20: [Archived] - Mocha
Lecture 116 Mocha - Introduction
Lecture 117 Mocha - Structuring & Combining Tests Part 1
Lecture 118 Mocha - Structuring & Combining Tests Part 2
Lecture 119 Mocha - Reviewing & Executing our New & Improved Tests
Section 21: [Archived] - Wdio Sync Mode
Lecture 120 Simplifying Tests and Sync Mode
Lecture 121 Configuring Our Tests to Use Sync Mode
Section 22: [Archived] - Selenium Standalone & NPM Scripts
Lecture 122 Selenium Standalone & NPM Scripts
Section 23: [Archived] - Environments & Base URL
Lecture 123 Base URL Setup
Lecture 124 Handling Multiple Environments During Runtime
Section 24: [Archived] - Logging
Lecture 125 Logging During Runtime
Section 25: [Archived] - Node Assertions
Lecture 126 Implementing Node Assertions
Section 26: [Archived] - Chai
Lecture 127 Chai - Advanced Assertions & Code Example - Part 1
Lecture 128 Chai - Advanced Assertions & Code Example - Part 2
Lecture 129 Chai - Adding Assertions to our Tests
Lecture 130 Chai - Centralizing Assertions Using our wdio File
Section 27: [Archived] - Pause, Debug Mode & Selectors
Lecture 131 Pause Command Part 1
Lecture 132 Pause Command Part 2
Lecture 133 Debug Mode
Lecture 134 Creating Selectors using Ranorex
Section 28: [Archived] - Targeting & Skipping Specific Tests
Lecture 135 Targeting Specific Tests
Lecture 136 Skipping Specific Tests
Section 29: [Archived] - CSS Extraction
Lecture 137 getCssProperty Command
Section 30: [Archived] - Mocha Hooks
Lecture 138 Mocha Hooks Part 1
Lecture 139 Mocha Hooks Part 2
Section 31: [Archived] - Handling Browser Window Tabs
Lecture 140 Tabs Part 1
Lecture 141 Tabs Part 2
Section 32: [Archived] - Verify Elements
Lecture 142 isExisting Part 1
Lecture 143 isExisting Part 2
Lecture 144 isVisible
Lecture 145 hasFocus Part 1
Lecture 146 hasFocus Part 2
Lecture 147 isEnabled Part 1
Lecture 148 isEnabled Part 2
Lecture 149 isSelected Part 1
Lecture 150 isSelected Part 2
Lecture 151 isVisibleWithinViewport Part 1
Lecture 152 isVisibleWithinViewport Part 2
Lecture 153 getText, isVisible, isExisting Part 1
Lecture 154 getText, isVisible, isExisting Part 2
Lecture 155 getText, isVisible, isExisting Part 3
Lecture 156 waitForText Part 1
Lecture 157 waitForText Part 2
Lecture 158 waitForExist, waitForVisible Part 1
Lecture 159 waitForExist, waitForVisible Part 2
Lecture 160 waitUntil
Lecture 161 waitForValue
Section 33: [Archived] - Using External Data (Sync Data Mode)
Lecture 162 Using External Data (Sync Data Mode) - Part 1
Lecture 163 Using External Data (Sync Data Mode) - Part 2
Section 34: [Archived] - Custom Commands (addCommand)
Lecture 164 Custom Commands (addCommand) - Part 1
Lecture 165 Custom Commands (addCommand) - Part 2
Section 35: [Archived] - Injecting JavaScript Code (Execute Command)
Lecture 166 Injecting JavaScript Code (Execute Command) - Part 1
Lecture 167 Injecting JavaScript Code (Execute Command) - Part 2
Lecture 168 Injecting JavaScript Code (Execute Command) - Part 3
Section 36: [Archived] - Page Object Model (POM)
Lecture 169 Page Object Model (POM) - Intro
Lecture 170 Page Object Model (POM) - Phase 1 - Part 1
Lecture 171 Page Object Model (POM) - Phase 1 - Part 2
Lecture 172 Page Object Model (POM) - Phase 1 - Part 3
Lecture 173 Page Object Model (POM) - Phase 1 - Part 4
Lecture 174 Page Object Model (POM) - Phase 1 - Part 5
Lecture 175 Page Object Model (POM) - Phase 2 - Part 1
Lecture 176 Page Object Model (POM) - Phase 2 - Part 2
Lecture 177 Page Object Model (POM) - Phase 2 - Part 3
Lecture 178 Page Object Model (POM) - Phase 2 - Part 4
Lecture 179 Page Object Model (POM) - Phase 2 - Part 5
Lecture 180 Page Object Model (POM) - Phase 2 - Part 6
Lecture 181 Page Object Model (POM) - Phase 3 - Part 1
Lecture 182 Page Object Model (POM) - Phase 3 - Part 2
Lecture 183 Page Object Model (POM) - Phase 3 - Part 3
Lecture 184 Page Object Model (POM) - Phase 3 - Part 4
Lecture 185 Page Object Model (POM) - Phase 3 - Part 5
Lecture 186 Page Object Model (POM) - Phase 3 - Part 6
Section 37: [Archived] - Advanced Reporting
Lecture 187 Advanced Reporting - Intro
Lecture 188 Advanced Reporting - Junit Reports
Lecture 189 Advanced Reporting - JSON Reports
Lecture 190 Advanced Reporting - Allure Reports
Lecture 191 Advanced Reporting - Allure Reports - Attaching Images - Part 1
Lecture 192 Advanced Reporting - Allure Reports - Attaching Images - Part 2
Section 38: [Archived] - Free Up Space - Deleting Files and Folders
Lecture 193 Free Up Space - Deleting Files and Folders
Section 39: [Archived] - Continuous Integration
Lecture 194 Jenkins Introduction and Explanation
Lecture 195 Jenkins Installation And Setup
Lecture 196 Jenkins Installing Plugins And Setting Up NodeJS
Lecture 197 Trigger our Tests using Jenkins
Lecture 198 Jenkins Adding Parameters
Lecture 199 Jenkins Adding Additional Logging Information
Lecture 200 Jenkins Execute Our Tests when Ever We Want
Section 40: [Archived] - Generating Allure Reports within Jenkins
Lecture 201 Generating Allure Reports within Jenkins - Part 1
Lecture 202 Generating Allure Reports within Jenkins - Part 2
Lecture 203 Generating Allure Reports within Jenkins - Part 3
Lecture 204 Generating Allure Reports within Jenkins - Part 4
Lecture 205 Generating Allure Reports within Jenkins - Part 5
Section 41: [Archived] - Upgrading Our Existing WebdrverIO v4 Project to WebDriverIO v5
Lecture 206 Webdriver IO v5 - Introduction
Lecture 207 Preparing our Project for Webdriver IO v5
Lecture 208 Webdriver IO v5 - Instructions
Lecture 209 Downloading Webdriver IO v5 Packages
Lecture 210 Installing New WDIO CLI
Lecture 211 Creating New WDIO CLI File
Lecture 212 Configuring New WDIO CLI File
Lecture 213 Updating our Dependencies
Lecture 214 Downloading Additional Dependencies
Lecture 215 Potential Problem with the .Dot Reporter
Lecture 216 Preparing the Foundations of our Framework
Lecture 217 Modifying our Test to use Async Await
Lecture 218 Customising our Page Object Model Commands
Lecture 219 Custom Commands - waitForDisplayed
Lecture 220 Adding Assertions Directly Inside our Tests
Lecture 221 Triggering our New Webdriver IO v5 Tests
Lecture 222 Incorporating Try Catch Blocks to our Assertions
Lecture 223 Final Project Code
Section 42: [Archived] - WebdriverIO V5 from Scratch!
Lecture 224 Intro
Section 43: [Archived] - Visual Studio Code (IDE)
Lecture 225 Installing and setting up Visual Studio Code
Lecture 226 Setting up Code Runner Extension
Lecture 227 Altering Color Themes
Section 44: [Archived] - Setting Up Our WebdriverIO v5 Project
Lecture 228 Installing latest version of NodeJS
Lecture 229 Package.json Setup
Lecture 230 Downloading Latest WebdriverIO v5 Packages
Section 45: [Archived] - Prettier Setup
Lecture 231 Prettier Setup (Enhanced Code Formatter)
Section 46: [Archived] - Configuring New Wdio File
Lecture 232 Wdio File Setup
Section 47: [Archived] - Babel
Lecture 233 Babel Setup
Section 48: [Archived] - Selenium Server
Lecture 234 Selenium Server Overview
Section 49: [Archived] - Creating Our First WebdriverIO v5 Test!
Lecture 235 Creating Our First Test - Part 1/2
Lecture 236 Creating Our First Test - Part 2/2
Section 50: [Archived] - Selenium Server Extended - [Port Number Modification]
Lecture 237 Altering Selenium Server Port Number
Section 51: [Archived] - ChromeDriver
Lecture 238 ChromeDriver Setup
Section 52: [Archived] - Selectors
Lecture 239 Creating Advanced Selectors - Part 1/2
Lecture 240 Creating Advanced Selectors - Part 2/2
Section 53: [Archived] - Handling Browser Tabs
Lecture 241 Switching Browser Tabs
Lecture 242 Closing Browser Tabs
Section 54: [Archived] - Chai - [Assertions]
Lecture 243 Applying Chai Assertions To Our Tests
Section 55: [Archived] - Custom Commands
Lecture 244 Creating Custom Commands Using: addCommand
Section 56: [Archived] - Handling Timeouts
Lecture 245 waitForExist
Lecture 246 waitForDisplayed
Lecture 247 waitForEnabled
Lecture 248 pause
Section 57: [Archived] - Injecting JavaScript Using execute Command
Lecture 249 execute Command
Section 58: [Archived] - Handling Inputs - [addValue, clearValue, setValue]
Lecture 250 Handling Inputs - Part 1/2
Lecture 251 Handling Inputs - Part 2/2
Section 59: [Archived] - State Commands - [isExisting, isSelected, isDisplayed]
Lecture 252 isExisting, isSelected, isDisplayed
Section 60: [Archived] - Handling IFrame's
Lecture 253 Handling IFrame's The Correct Way!
Section 61: [Archived] - Test Creation - Challenge!
Lecture 254 Challenge Overview
Lecture 255 Challenge Solution - Part 1/3
Lecture 256 Challenge Solution - Part 2/3
Lecture 257 Challenge Solution - Part 3/3
Section 62: [Archived] - Config File Creation (Centralising & Managing Variables)
Lecture 258 Config File Creation & Linking To Tests
Lecture 259 Interlinking Config File With Wdio File
Section 63: [Archived] - Custom Commands - [waitAndClick, waitAndSendkeys]
Lecture 260 waitAndClick
Lecture 261 waitAndSendkeys
Lecture 262 Custom Commands & Test Integration
Section 64: [Archived] - Random Data Generators
Lecture 263 Random Email Generator - [Custom Command Creation]
Lecture 264 Random String Generator - [Custom Command Creation]
Section 65: [Archived] - Page Object Pattern
Lecture 265 Base Page Creation
Lecture 266 Sub Page Creation - Part 1/2
Lecture 267 Sub Page Creation - Part 2/2
Lecture 268 Page Object Pattern & Test Connection - Part 1/3
Lecture 269 Page Object Pattern & Test Connection - Part 2/3
Lecture 270 Page Object Pattern & Test Connection - Part 3/3
Section 66: [Archived] - Framework Improvements
Lecture 271 Making Improvements To The Existing Framework - Part 1/2
Lecture 272 Making Improvements To The Existing Framework - Part 2/2
Section 67: [Archived] - Organizing Test Suite's
Lecture 273 Organizing Test Suite's - Part 1/2
Lecture 274 Organizing Test Suite's - Part 2/2
Lecture 275 Retry Flaky Tests
Beginner automation testers,Intermediate automation testers,Expert automation testers,Anyone interested in Automation Testing,Manual testers (QA's) who want to become an Automation Tester (SDET),Those interested in emerging testing technologies that is rapidly growing in popularity,Anyone interested in the WebdriverIO framework