Cucumber Playwright TypeScript Automation Framework

33h 2m 28s
English
Paid

Course description

This course has been designed to simulate a real-world experience in building a Cucumber, Playwright & TypeScript automation framework from the ground up for a fully-featured application. Upon completion, you will be able to apply your learnings and the automation framework you have built into your respective companies and projects. We are confident you will become an expert in building a world-class automation framework.

Read more about the course

Our course and the automation framework we will build together has been developed with guidance from some of the globes leading testing and software engineering professionals and because of that we believe we can offer an incredible course where we will:

- Develop your automation framework against a real react application running on your local machine.

- Build an end-to-end automation framework from the ground up for a full-featured end-to-end react application.

- Evolve your skills and continuously improve your automation framework as we progress through the course

- Learn how to build an object-orientated – engineer reviewed and approved automation framework.

- Learn how to create a playwright API automation suite (GET, PUT, POST, PATCH, DELETE)

We want this course to be the best decision you have ever made for your personal growth when it comes to improving your knowledge and skills in test automation framework architecture.

Watch Online

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 227 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing

Watch Online Cucumber Playwright TypeScript Automation Framework

0:00
/
#1: Introduction

All Course Lessons (227)

#Lesson TitleDurationAccess
1
Introduction Demo
12:50
2
Why does building a robust automation framework matter
45:59
3
Getting started with Node.js
09:47
4
Setting up your development environment
03:59
5
Setting up your development environment - VSCode
05:46
6
Cloning Repositories on GitHub & Starting your locally running React application
07:15
7
Setting up your first automation framework - part 1
09:35
8
Setting up your first automation framework - part 2
09:20
9
Setting up your first automation framework - part 3
09:58
10
Key Learnings
01:15
11
Running your automation test in IntelliJ using an NPM configuration
03:36
12
Cucumber Scenario @tags - @dev, @smoke & @regression
05:45
13
Understanding regex, step linking and passing parameters via Cucumber steps
12:29
14
Working with element locators - Find and Update - Working with Developer Tools
14:10
15
Understanding hooks and why 'test context' matters
06:56
16
Key Learnings
01:34
17
Adding screenshots on test failure and test video recordings
09:18
18
Introducing Cucumber World - Seperate Context Cucumber Scenarios - Part 1
11:10
19
Introducing Cucumber World - Seperate Context Cucumber Scenarios - Part 2
14:29
20
Introducing Cucumber World - Seperate Context Cucumber Scenarios - Part 3
06:06
21
Dynamic test configuration - A more flexible cucumber.js - part 1
09:53
22
Dynamic test configuration - A more flexible cucumber.js - part 2
13:22
23
ENV files for better environment variable management
12:06
24
Cucumber reporter and our first Dynamic Test Runner Script
14:39
25
Windows users (REQUIRED) - Adding your run_tests.bat to run your automation
04:17
26
Running your automation suite with npm instead of yarn
06:54
27
Key Learnings
02:21
28
Creating Mappings for Host URLS and Page ROUTES - part 1
11:10
29
Creating Mappings for Host URLS and Page ROUTES - part 2
07:01
30
Creating Mappings for Host URLS and Page ROUTES - part 3
12:24
31
Creating Element Mappings and using Global Variables to pass page - part 1
08:45
32
Creating Element Mappings and using Global Variables to pass page - part 2
09:13
33
Creating Element Mappings and using Global Variables to pass page - part 3
07:04
34
Creating Element Mappings and using Global Variables to pass page - part 4
09:55
35
Introducing our custom waitFor() function - Removing playwright@test - part 1
08:39
36
Introducing our custom waitFor() function - Removing playwright@test - part 2
07:35
37
Introducing our custom waitFor() function - Removing playwright@test - part 3
07:48
38
Key Learnings
01:16
39
Matching our Page URL to our expected route Regex
13:20
40
Determining our pageId by matching our page URL to our page Regex - part 1
12:56
41
Determining our pageId by matching our page URL to our page Regex - part 2
06:40
42
Determining our pageId by matching our page URL to our page Regex - part 3
12:52
43
Determining our pageId by matching our page URL to our page Regex - part 4
12:23
44
Introducing Form Steps - Our first end to end test - part 1
13:13
45
Introducing Form Steps - Our first end to end test - part 2
08:18
46
Introducing Form Steps - Our first end to end test - part 3
14:15
47
Key Learnings
01:42
48
Playwright Inspector - Stepping into our automation test
13:04
49
Unlocking the benefits of Chrome Developer Tools - part 1
11:08
50
Unlocking the benefits of Chrome Developer Tools - part 2
09:35
51
Console logs, Breakpoints and Test Reports - part 1
07:52
52
Console logs, Breakpoints and Test Reports - part 2
06:33
53
Key Learnings
01:17
54
Automation Test Radio Buttons - Check and Uncheck - part 1
16:14
55
Automation Test Radio Buttons - Check and Uncheck - part 2
11:32
56
Introducing Negate to reduce duplication of step definitions - part 1
12:30
57
Introducing Negate to reduce duplication of step definitions - part 2
08:19
58
Automation test AutoComplete inputs, Input values and form validation - part 1
07:10
59
Automation test AutoComplete inputs, Input values and form validation - part 2
09:10
60
Automation test AutoComplete inputs, Input values and form validation - part 3
10:35
61
Automation test AutoComplete inputs, Input values and form validation - part 4
11:50
62
Running our automation suite in parallel & Introducing test retry
06:13
63
Key Learnings
01:10
64
Automation test Checkboxes (Check and Uncheck) - part 1
10:17
65
Automation test Checkboxes (Check and Uncheck) - part 2
09:29
66
Automating IFrames - Switching Frames mid test - part 1
11:50
67
Automating IFrames - Switching Frames mid test - part 2
09:08
68
Automating IFrames - Switching Frames mid test - part 3
11:45
69
Automating IFrames - Switching Frames mid test - part 4
10:11
70
Automating New Tabs and Windows - part 1
11:04
71
Automating New Tabs and Windows - part 2
11:40
72
Automating New Tabs and Windows - part 3
10:25
73
Automating New Tabs and Windows - part 4
13:04
74
Automating New Tabs and Windows - part 5
08:40
75
Key Learnings
01:06
76
Automating Links, Buttons and Clicking element at Index - part 1
08:57
77
Automating Links, Buttons and Clicking element at Index - part 2
09:31
78
Automating Links, Buttons and Clicking element at Index - part 3
12:45
79
Automating Links, Buttons and Clicking element at Index - part 4
05:08
80
Automating Tables - Matching our HTML table to Cucumber Data Table - part 1
09:38
81
Automating Tables - Matching our HTML table to Cucumber Data Table - part 2
06:43
82
Automating Tables - Matching our HTML table to Cucumber Data Table - part 3
07:04
83
Automating Switches - low code / no code
07:44
84
Key Learnings
01:03
85
Automating Browser Alerts, Page Alerts and Tooltips - part 1
10:53
86
Automating Browser Alerts, Page Alerts and Tooltips - part 2
08:21
87
Automating Browser Alerts, Page Alerts and Tooltips - part 3
12:50
88
Automating Browser Alerts, Page Alerts and Tooltips - part 4
07:52
89
Automating text areas & Hidden and Visible text
11:46
90
Asserting on stored values and expected values in our automation - part 1
12:24
91
Asserting on stored values and expected values in our automation - part 2
07:29
92
Asserting on stored values and expected values in our automation - part 3
10:14
93
Key Learnings
00:50
94
Automating Cards and Avatars - Verify Element count - Part 1
10:21
95
Automating Cards and Avatars - Verify Element count - Part 2
11:20
96
Automating Cards and Avatars - Verify Element count - Part 3
08:34
97
Automating Drop Down menus and Select Boxes - part 1
10:39
98
Automating Drop Down menus and Select Boxes - part 2
07:16
99
Refreshing our page mid test - Leveraging our URL assertion - part 1
11:32
100
Refreshing our page mid test - Leveraging our URL assertion - part 2
06:25
101
Key Learnings
00:36
102
Running our automation suite on a production environment - part 1
11:00
103
Running our automation suite on a production environment - part 2
09:39
104
Windows users (REQUIRED) - Updating your run_tests.bat to run your automation
03:25
105
Preparing our automation suite to run on production (Stabilization) - part 1
09:30
106
Preparing our automation suite to run on production (Stabilization) - part 2
12:38
107
Preparing our automation suite to run on production (Stabilization) - part 3
08:44
108
Preparing our automation suite to run on production (Stabilization) - part 4
09:42
109
Preparing our automation suite to run on production (Stabilization) - part 5
09:12
110
Storing login details in our Environment Specific ENV files - part 1
09:51
111
Storing login details in our Environment Specific ENV files - part 2
10:45
112
Storing login details in our Environment Specific ENV files - part 3
13:52
113
Key Learnings
01:23
114
Cucumber Example Tables to run test scenarios on a specific environment - part 1
09:52
115
Cucumber Example Tables to run test scenarios on a specific environment - part 2
09:41
116
Cucumber Example Tables to run test scenarios on a specific environment - part 3
10:18
117
Introducing Device Emulation with Playwright - part 1
09:52
118
Introducing Device Emulation with Playwright - part 2
11:41
119
Customising and improving our console logs - part 1
08:10
120
Customising and improving our console logs - part 2
11:02
121
Customising and improving our console logs - part 3
09:15
122
Customising and improving our console logs - part 4
07:05
123
Key Learnings
01:09
124
Creating our own waitFor enabled waitForSelector function leveraging playwright
13:30
125
Preparing our step definitions for better failure errors - part 1
09:04
126
Preparing our step definitions for better failure errors - part 2
09:41
127
Key Learnings
01:05
128
Refactoring and improving our assertion step definitions - part 1
08:31
129
Refactoring and improving our assertion step definitions - part 2
13:51
130
Refactoring and improving our assertion step definitions - part 3
09:26
131
Refactoring and improving our assertion step definitions - part 4
12:22
132
Refactoring and improving our assertion step definitions - part 5
11:54
133
Refactoring and improving our assertion step definitions - part 6
10:38
134
Code clean up and consistency improvements - part 1
07:16
135
Code clean up and consistency improvements - part 2
07:58
136
Key Learnings
00:57
137
Mapping automation friendly errors messages to replace native errors - part 1
11:33
138
Mapping automation friendly errors messages to replace native errors - part 2
10:47
139
Mapping automation friendly errors messages to replace native errors - part 3
10:46
140
Mapping automation friendly errors messages to replace native errors - part 4
08:25
141
Mapping automation friendly errors messages to replace native errors - part 5
08:28
142
Introducing waitForResult to handle our assertion error cases - part 1
10:39
143
Introducing waitForResult to handle our assertion error cases - part 2
10:37
144
Introducing waitForResult to handle our assertion error cases - part 3
12:15
145
Introducing waitForResult to handle our assertion error cases - part 4
10:40
146
Introducing waitForResult to handle our assertion error cases - part 5
09:03
147
Introducing waitForResult to handle our assertion error cases - part 6
14:24
148
Introducing waitForResult to handle our interaction error cases
13:36
149
Validating our new automation test failure errors - part 1
06:47
150
Validating our new automation test failure errors - part 2
06:12
151
Key Learnings
01:32
152
Populate form fields with random test data during our automation test - part 1
10:06
153
Populate form fields with random test data during our automation test - part 2
13:47
154
Building our an end to end automation suite for our contacts app - part 1
10:59
155
Building our an end to end automation suite for our contacts app - part 2
07:57
156
Building our an end to end automation suite for our contacts app - part 3
08:43
157
Tagging our automation suite in preparation for (CI) Continuous Integration
11:59
158
Key Learnings
01:20
159
Adding the ability to intercept responses during automation tests - part 1
10:44
160
Adding the ability to intercept responses during automation tests - part 2
09:22
161
Adding the ability to intercept responses during automation tests - part 3
15:21
162
Building our a suite of automation tests that leverage mocking - part 1
09:46
163
Building our a suite of automation tests that leverage mocking - part 2
10:26
164
Key Learnings
00:53
165
Integrating AXE engine into our automation framework - part 1
08:46
166
Integrating AXE engine into our automation framework - part 2
10:30
167
Integrating AXE engine into our automation framework - part 3
09:33
168
Analysing, Understanding and Fixing some Accessibility issues - part 1
09:57
169
Analysing, Understanding and Fixing some Accessibility issues - part 2
10:57
170
Key Learnings
01:08
171
Pushing our project code to a private GitHub Repository
10:19
172
Buildkite - Turning our machine into a build agent
10:58
173
Our first green CI Pipeline - Viewing our Artifact's in the browser - part 1
08:28
174
Our first green CI Pipeline - Viewing our Artifact's in the browser - part 2
12:00
175
Our first green CI Pipeline - Viewing our Artifact's in the browser - part 3
11:20
176
Our first green CI Pipeline - Viewing our Artifact's in the browser - part 4
09:04
177
Reviewing our automation suite on pull request in GitHub
12:31
178
Key Learnings
00:43
179
Getting Ready! Setting up our postman collection - part 1
09:16
180
Getting Ready! Setting up our postman collection - part 2
07:49
181
Creating our playwright API automation folder structure
06:11
182
Automating GET, POST, PUT, PATCH and DELETE with Playwright - part 1
09:02
183
Automating GET, POST, PUT, PATCH and DELETE with Playwright - part 2
06:39
184
Automating GET, POST, PUT, PATCH and DELETE with Playwright - part 3
08:33
185
Key Learnings
00:54
186
Conclusion
02:53
187
Promotion
05:04
188
Introduction
04:10
189
Getting started with node.js
07:22
190
Setting up your development environment - Intellij
04:26
191
Setting up your development environment - VSCODE
04:20
192
Key Learnings
00:41
193
Planning our API automation coverage using Postman - part 1
10:39
194
Planning our API automation coverage using Postman - part 2
09:16
195
Planning our API automation coverage using Postman - part 3
04:09
196
Creating our API end-to-end automation project structure and e2e folder
07:02
197
GET, POST, PUT, PATCH and DELETE with Playwright and JavaScript - part 1
09:41
198
GET, POST, PUT, PATCH and DELETE with Playwright and JavaScript - part 2
09:16
199
GET, POST, PUT, PATCH and DELETE with Playwright and JavaScript - part 3
08:50
200
GET, POST, PUT, PATCH and DELETE with Playwright and JavaScript - part 4
05:58
201
Key Learnings
00:47
202
Running our first cucumber automation test
12:47
203
Introducing Cucumber World - part 1
10:25
204
Introducing Cucumber World - part 2
05:27
205
Passing our API response to cucumber steps with Cucumber World - part 1
08:56
206
Passing our API response to cucumber steps with Cucumber World - part 2
05:06
207
Introducing Lintrc to ensure code quality in our automation framework
07:01
208
Key Learnings
00:55
209
Customise the cucumber-js on runtime - part 1
09:14
210
Customise the cucumber-js on runtime - part 2
09:50
211
Environment files for better environment variable management
10:41
212
Introducing global configuration - Reusable getResponse function - part 1
10:51
213
Introducing global configuration - Reusable getResponse function - part 2
10:24
214
Key Learnings
00:47
215
Adding more GET automation tests to our suite - part 1
09:57
216
Adding more GET automation tests to our suite - part 2
09:56
217
Introducing the cucumber html reporter - Adding Parallel and Retry capabilities
13:30
218
Adding our first automation test for DELETE
09:29
219
Key Learnings
00:46
220
Creating posts with POST - part 1
09:58
221
Creating posts with POST - part 2
10:12
222
Editing posts with PATCH
09:29
223
Updating posts with PUT
07:06
224
Validating our json payload exists
09:14
225
Asserting on response text errors
05:38
226
Key Learnings
00:36
227
Conclusion
01:51

Unlock unlimited learning

Get instant access to all 226 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

End to End Test Automation with Playwright (JS/TS/C#/Java)

End to End Test Automation with Playwright (JS/TS/C#/Java)

Sources: udemy
In this course End to End Test Automation with Playwright, we will learn Playwright from the complete ground up to more advanced concepts which anyone requires
10 hours 24 minutes 42 seconds
Playwright - Complete Beginner Course

Playwright - Complete Beginner Course

Sources: udemy
Microsoft Playwright is the latest and one of the most popular end-to-end test automation frameworks in the industry. Playwright is an accessible and beginner-friendly tool that...
6 hours 59 minutes 22 seconds