WebdriverIO (v5) - Selenium Webdriver using Node.js & More!
More
This course teaches you the following technologies:
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
What is new in version 5 - a dedicated section to go over the key differences in version 5.
JavaScript - is an object-oriented computer programming language commonly used to create interactive effects within web browsers.
Selenium - is a suite of tools to automate web browsers across many platforms.
NodeJS - is a run-time environment which includes everything you need to execute a program written in JavaScript.
Mocha - is a feature-rich JavaScript test framework running on Node.js and in the browser, making asynchronous testing simple and fun.
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.
Advanced Reporting (allure reports, J-unit Reports, JSON reports & more) - detailed, visual appealing, useful report outputs.
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?
This is a full course that teaches you from the basics all the way to building advanced frameworks!
It uses JavaScript using WebdriverIO which is the modern way to build automation tests using a language that front-end developers are familiar with!
You will learn technologies such as: NodeJS, JavaScript, Selenium, WebdriverIO, Mocha, Chai, Wdio, Extent Reports, Jenkins (CI) and More!
I teach you good code design concepts using Page Object Modelling (POM), Don't Repeat Yourself (DRY) and more!
This course is practical. I walk you through everything and provide source code at each stage for you to follow along!
You will gain invaluable knowledge after completing this course and will have skills that are in demand!
- 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
- 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
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
Watch Online WebdriverIO (v5) - Selenium Webdriver using Node.js & More!
# | Title | Duration |
---|---|---|
1 | Introduction | 02:47 |
2 | Example Test Execution using webdriverIO & webdriveruniveristy.com | 02:55 |
3 | Please Watch!! WebdriverIO v4 & V5 - IMPORTANT | 01:03 |
4 | Gitbash Setup for Windows | 02:23 |
5 | iTerm2 Setup for Mac | 00:52 |
6 | WebdriverIO API | 01:41 |
7 | NodeJS npm Package JSON Setup | 08:15 |
8 | Handling Dependencies | 10:53 |
9 | Selenium Standalone Setup | 08:57 |
10 | Sublime Text IDE Setup | 01:33 |
11 | Creating Our First Automation Test | 07:16 |
12 | Creating Our Second Automation Test | 09:02 |
13 | Wdio - Creation & Review | 06:42 |
14 | Wdio - Triggering Tests | 04:33 |
15 | Wdio - Contact Us & Login Portal Test | 02:07 |
16 | Wdio - Executing Our New & Improved Tests | 02:35 |
17 | Wdio - Reviewing the Wdio File | 02:31 |
18 | Mocha - Introduction | 04:03 |
19 | Mocha - Structuring & Combining Tests Part 1 | 07:22 |
20 | Mocha - Structuring & Combining Tests Part 2 | 03:45 |
21 | Mocha - Reviewing & Executing our New & Improved Tests | 03:06 |
22 | Simplifying Tests and Sync Mode | 05:02 |
23 | Configuring Our Tests to Use Sync Mode | 05:09 |
24 | Selenium Standalone & NPM Scripts | 04:35 |
25 | Base URL Setup | 05:17 |
26 | Handling Multiple Environments During Runtime | 04:57 |
27 | Logging During Runtime | 02:25 |
28 | Implementing Node Assertions | 06:41 |
29 | Chai - Advanced Assertions & Code Example - Part 1 | 08:14 |
30 | Chai - Advanced Assertions & Code Example - Part 2 | 03:26 |
31 | Chai - Adding Assertions to our Tests | 05:38 |
32 | Chai - Centralizing Assertions Using our wdio File | 03:33 |
33 | Pause Command Part 1 | 06:48 |
34 | Pause Command Part 2 | 04:48 |
35 | Debug Mode | 07:10 |
36 | Creating Selectors using Ranorex | 07:16 |
37 | Targeting Specific Tests | 02:45 |
38 | Skipping Specific Tests | 01:16 |
39 | getCssProperty Command | 07:44 |
40 | Mocha Hooks Part 1 | 07:53 |
41 | Mocha Hooks Part 2 | 08:27 |
42 | Tabs Part 1 | 06:04 |
43 | Tabs Part 2 | 08:51 |
44 | isExisting Part 1 | 07:30 |
45 | isExisting Part 2 | 08:02 |
46 | isVisible | 07:26 |
47 | hasFocus Part 1 | 07:52 |
48 | hasFocus Part 2 | 04:19 |
49 | isEnabled Part 1 | 08:37 |
50 | isEnabled Part 2 | 07:44 |
51 | isSelected Part 1 | 06:50 |
52 | isSelected Part 2 | 05:00 |
53 | isVisibleWithinViewport Part 1 | 06:33 |
54 | isVisibleWithinViewport Part 2 | 07:32 |
55 | getText, isVisible, isExisting Part 1 | 06:22 |
56 | getText, isVisible, isExisting Part 2 | 10:05 |
57 | getText, isVisible, isExisting Part 3 | 05:46 |
58 | waitForText Part 1 | 06:35 |
59 | waitForText Part 2 | 07:09 |
60 | waitForExist, waitForVisible Part 1 | 05:40 |
61 | waitForExist, waitForVisible Part 2 | 04:02 |
62 | waitUntil | 08:47 |
63 | waitForValue | 05:09 |
64 | Using External Data (Sync Data Mode) - Part 1 | 07:12 |
65 | Using External Data (Sync Data Mode) - Part 2 | 04:37 |
66 | Custom Commands (addCommand) - Part 1 | 05:31 |
67 | Custom Commands (addCommand) - Part 2 | 06:44 |
68 | Injecting JavaScript Code (Execute Command) - Part 1 | 08:01 |
69 | Injecting JavaScript Code (Execute Command) - Part 2 | 09:15 |
70 | Injecting JavaScript Code (Execute Command) - Part 3 | 02:25 |
71 | Page Object Model (POM) - Intro | 02:10 |
72 | Page Object Model (POM) - Phase 1 - Part 1 | 09:33 |
73 | Page Object Model (POM) - Phase 1 - Part 2 | 09:35 |
74 | Page Object Model (POM) - Phase 1 - Part 3 | 09:38 |
75 | Page Object Model (POM) - Phase 1 - Part 4 | 07:21 |
76 | Page Object Model (POM) - Phase 1 - Part 5 | 05:54 |
77 | Page Object Model (POM) - Phase 2 - Part 1 | 01:15 |
78 | Page Object Model (POM) - Phase 2 - Part 2 | 08:27 |
79 | Page Object Model (POM) - Phase 2 - Part 3 | 07:24 |
80 | Page Object Model (POM) - Phase 2 - Part 4 | 07:25 |
81 | Page Object Model (POM) - Phase 2 - Part 5 | 08:01 |
82 | Page Object Model (POM) - Phase 2 - Part 6 | 05:03 |
83 | Page Object Model (POM) - Phase 3 - Part 1 | 00:44 |
84 | Page Object Model (POM) - Phase 3 - Part 2 | 05:08 |
85 | Page Object Model (POM) - Phase 3 - Part 3 | 06:16 |
86 | Page Object Model (POM) - Phase 3 - Part 4 | 04:47 |
87 | Page Object Model (POM) - Phase 3 - Part 5 | 06:37 |
88 | Page Object Model (POM) - Phase 3 - Part 6 | 04:04 |
89 | Advanced Reporting - Intro | 02:18 |
90 | Advanced Reporting - Junit Reports | 05:09 |
91 | Advanced Reporting - JSON Reports | 05:55 |
92 | Advanced Reporting - Allure Reports | 09:06 |
93 | Advanced Reporting - Allure Reports - Attaching Images - Part 1 | 08:16 |
94 | Advanced Reporting - Allure Reports - Attaching Images - Part 2 | 05:27 |
95 | Free Up Space - Deleting Files and Folders | 04:38 |
96 | Jenkins Introduction and Explanation | 02:03 |
97 | Jenkins Installation And Setup | 07:07 |
98 | Jenkins Installing Plugins And Setting Up NodeJS | 07:48 |
99 | Trigger our Tests using Jenkins | 10:13 |
100 | Jenkins Adding Parameters | 13:46 |
101 | Jenkins Adding Additional Logging Information | 04:05 |
102 | Jenkins Execute Our Tests when Ever We Want | 05:00 |
103 | Generating Allure Reports within Jenkins - Part 1 | 08:07 |
104 | Generating Allure Reports within Jenkins - Part 2 | 09:43 |
105 | Generating Allure Reports within Jenkins - Part 3 | 10:41 |
106 | Generating Allure Reports within Jenkins - Part 4 | 08:41 |
107 | Generating Allure Reports within Jenkins - Part 5 | 03:19 |
108 | Webdriver IO v5 - Introduction | 02:54 |
109 | Preparing our Project for Webdriver IO v5 | 01:48 |
110 | Webdriver IO v5 - Instructions | 01:00 |
111 | Downloading Webdriver IO v5 Packages | 04:17 |
112 | Installing New WDIO CLI | 01:25 |
113 | Creating New WDIO CLI File | 03:27 |
114 | Configuring New WDIO CLI File | 07:54 |
115 | Updating our Dependencies | 06:11 |
116 | Downloading Additional Dependencies | 02:17 |
117 | Potential Problem with the .Dot Reporter | 01:44 |
118 | Preparing the Foundations of our Framework | 04:24 |
119 | Modifying our Test to use Async Await | 03:54 |
120 | Customising our Page Object Model Commands | 10:02 |
121 | Custom Commands - waitForDisplayed | 07:28 |
122 | Adding Assertions Directly Inside our Tests | 05:09 |
123 | Triggering our New Webdriver IO v5 Tests | 03:49 |
124 | Incorporating Try Catch Blocks to our Assertions | 06:22 |
125 | Installing and setting up Visual Studio Code | 01:50 |
126 | Setting up Code Runner Extension | 03:51 |
127 | Altering Color Themes | 01:27 |
128 | Installing latest version of NodeJS | 03:54 |
129 | Package.json Setup | 03:09 |
130 | Downloading Latest WebdriverIO v5 Packages | 03:38 |
131 | Prettier Setup (Enhanced Code Formatter) | 04:38 |
132 | Wdio File Setup | 04:09 |
133 | Babel Setup | 05:34 |
134 | Selenium Server Overview | 05:18 |
135 | Creating Our First Test - Part 1/2 | 08:53 |
136 | Creating Our First Test - Part 2/2 | 07:03 |
137 | Altering Selenium Server Port Number | 05:05 |
138 | ChromeDriver Setup | 04:41 |
139 | Creating Advanced Selectors - Part 1/2 | 09:17 |
140 | Creating Advanced Selectors - Part 2/2 | 09:12 |
141 | Switching Browser Tabs | 07:54 |
142 | Closing Browser Tabs | 03:36 |
143 | Applying Chai Assertions To Our Tests | 10:49 |
144 | Creating Custom Commands Using: addCommand | 07:03 |
145 | waitForExist | 06:27 |
146 | waitForDisplayed | 06:18 |
147 | waitForEnabled | 06:37 |
148 | pause | 03:31 |
149 | execute Command | 06:20 |
150 | Handling Inputs - Part 1/2 | 09:17 |
151 | Handling Inputs - Part 2/2 | 04:10 |
152 | isExisting, isSelected, isDisplayed | 10:42 |
153 | Handling IFrame's The Correct Way! | 09:51 |
154 | Challenge Overview | 01:49 |
155 | Challenge Solution - Part 1/3 | 07:39 |
156 | Challenge Solution - Part 2/3 | 09:06 |
157 | Challenge Solution - Part 3/3 | 08:35 |
158 | Config File Creation & Linking To Tests | 07:46 |
159 | Interlinking Config File With Wdio File | 05:48 |
160 | waitAndClick | 06:04 |
161 | waitAndSendkeys | 04:23 |
162 | Custom Commands & Test Integration | 08:45 |
163 | Random Email Generator - [Custom Command Creation] | 06:14 |
164 | Random String Generator - [Custom Command Creation] | 07:16 |
165 | Base Page Creation | 06:52 |
166 | Sub Page Creation - Part 1/2 | 05:25 |
167 | Sub Page Creation - Part 2/2 | 08:01 |
168 | Page Object Pattern & Test Connection - Part 1/3 | 07:53 |
169 | Page Object Pattern & Test Connection - Part 2/3 | 07:29 |
170 | Page Object Pattern & Test Connection - Part 3/3 | 04:31 |
171 | Making Improvements To The Existing Framework - Part 1/2 | 09:52 |
172 | Making Improvements To The Existing Framework - Part 2/2 | 03:32 |
173 | Organizing Test Suite's - Part 1/2 | 07:21 |
174 | Organizing Test Suite's - Part 2/2 | 05:55 |
175 | Retry Flaky Tests | 05:35 |