Cucumber Playwright TypeScript Automation Framework

33h 2m 28s
English
Paid
November 20, 2023

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.

More

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 Cucumber Playwright TypeScript Automation Framework

Join premium to watch
Go to premium
# Title Duration
1 Introduction 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

Similar courses to Cucumber Playwright TypeScript Automation Framework

Playwright - Complete Beginner Course

Playwright - Complete Beginner Courseudemy

Duration 6 hours 59 minutes 22 seconds