Cypress: Web Automation Testing from Zero to Hero
This class will give you a complete understanding of what is Cypress framework and you will learn how to use all key framework capabilities. Cypress is a very modern JavaScript-based framework. It has everything you need right out of the box: Test Runner, Assertion libraries, reporters and so on. It s very nicely and easily can be integrated into the front end application (this is what we will do) and your tests will be executed in the same run loop as your application. That's why this framework is very fast! And don't worry if you never used JavaScript before.
More
Writing automation tests in Cypress looks more like knowing what sequence of the Cypress commands you should call to perform certain actions in the browser. It s not really programming. It's a kind of scripting following Cypress rules.
We will start with the very basic concepts of Web UI Automation so you will have the right foundation from the beginning (From Zero). Even if you will use any other framework for web automation in the future, the basics from this class will remain with you forever and will be very useful. I promise that you will be a GURU in building locators for any web element on the page. This is one of the most important parts of UI Automation and I have spent a lot of time on a detailed explanation of that.
Unlike many other Automation frameworks, Cypress can interact with APIs as well and you can automate API testing with Cypress actually. So again, if you don't know what API is about, we will start with Zero and learn everything you need to know about Cypress capabilities for API interaction.
And we definitely go through Page Objects, which is very important to use! When you have 10-20 tests, you can maintain your code as is, but when you have 200-300 tests, the maintainability of the test framework is a number one priority. The right structure of page objects is a key for the code reusability (no copy/paste your code) and maintainability.
Also, we will go thought different advanced topics such as environment variables, setting up multiple reporters, cypress retry plugin for failed tests and eventually we will run tests in Docker Container. If that will be your first experience with Docker, no worries, we will talk about basic Docker concepts as well.
By the end of the class, trust me, you will be a Cypress Hero :)
- No prerequisites required. Some experience with Selenium or JavaScript will be a plus but not necessary
- Manual QA Engineers who willing to pick up first automation framework
- Automation Engineers who switching from Selenium to Cypress
- Developers who want quickly pick up automation with Cypress
- Cypress begginers
What you'll learn:
- How to set up and configure Cypress
- How to build locators for any Web Elements using powerful jQuery Selector Engine built-in Cypress (forget about X-Path)
- How to interact and automate any kind of web components
- What is API. How to interact with APIs, mock API response and make assertions. Also how to create test data precondition using API calls and Headless user authentication
- How to organize and reuse code with Page Object design pattern.
- How to configure multiple custom reporters, retry logic for failed tests and run tests in Docker container
- Parallel test execution, Cross Browser and Visual testing
Watch Online Cypress: Web Automation Testing from Zero to Hero
# | Title | Duration |
---|---|---|
1 | Introduction | 02:38 |
2 | Cypress vs Selenuim | 05:56 |
3 | Quick Note | 00:51 |
4 | Preparation of development environment | 07:41 |
5 | Module overview | 02:33 |
6 | Hello World | 04:48 |
7 | Variables, Constants and Data Types | 11:23 |
8 | Concatenation and Interpolation | 06:23 |
9 | Objects and Arrays | 09:08 |
10 | Relational and Equality operators | 08:07 |
11 | Logical operators | 09:46 |
12 | Conditional statement | 08:27 |
13 | Loops | 09:36 |
14 | Functions | 15:26 |
15 | Class and methods | 07:03 |
16 | Clone application under test | 06:17 |
17 | Cypress Installation | 09:17 |
18 | Cypress Configuration | 06:02 |
19 | Cypress 9 vs Cypress 10 | 06:43 |
20 | DOM Terminology | 08:51 |
21 | Tests Structure | 05:37 |
22 | Types of Locators | 18:37 |
23 | Finding Web Elements | 17:17 |
24 | Saving Subject of the Command | 21:43 |
25 | Invoke Command | 19:43 |
26 | Checkboxes and Radio Buttons | 14:16 |
27 | Web Datepickers | 20:39 |
28 | Lists and Dropdowns | 23:40 |
29 | Web Tables | 28:54 |
30 | PopUps and ToolTips | 12:31 |
31 | Cypress Assertions | 09:03 |
32 | First Page Object | 15:09 |
33 | End-to-End Flow With Page Objects | 22:33 |
34 | Custom Commands | 04:02 |
35 | What is API? | 07:30 |
36 | JSON Objects | 09:27 |
37 | New Project Overview | 08:16 |
38 | Verification of the Browser API Calls | 16:24 |
39 | Mocking API Response | 27:10 |
40 | Cy.Intercept() in details | 11:34 |
41 | API Calls Using Cypress | 21:23 |
42 | Headless Authorization | 06:54 |
43 | NPM Scripts and Cypress CLI | 12:08 |
44 | Environment Variables | 25:14 |
45 | Test Retries | 07:53 |
46 | Multiple Test Reports | 15:50 |
47 | Cypress With Docker Container | 14:30 |
48 | Login With OKTA | 06:56 |
49 | Cross Browser Testing | 12:55 |
50 | Shadow DOM | 04:52 |
51 | Cypress Dashboard and Parallel test execution | 15:49 |
52 | FREE Dashboard for Cypress | 08:08 |
53 | Visual Testing | 20:19 |
54 | Where to Find More Information? | 05:05 |
55 | Final Words | 00:52 |