Cypress: E2E Test Automation - Getting Started
Published 3/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.54 GB | Duration: 5h 0m
Published 3/2024
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.54 GB | Duration: 5h 0m
Learn Cypress from scratch with Best Practices on Test Automation, writing many realistic end-to-end (E2E) tests.
What you'll learn
Learn the most important commands, features and concepts of Cypress from scratch
Learn various ways for selecting web app elements
Gain proficiency in writing E2E tests in many different exercises where you will apply newly gained knowledge
Learn how to dynamically generate test data
Discover the Page Object, Component Object, and Composition patterns and their benefits for scalable, maintainable test automation architecture
Requirements
Basic JavaScript knowledge is required
Willingness to learn and solve tasks
No Cypress experience needed. You will learn everything you need to know
(Optional) - Basic Web Development (HTML, CSS) experience can be useful but is not necessary
Description
Are you looking for a course where:you will learn Cypress from scratch, even with no prior experience in test automation.you will be able to practice writing end-to-end (E2E) tests on real-life examples.you will save time learning only the most important concepts, without unnecessary repetitions and summaries.I have good news for you. You do not need to look anymore. I have created this course to answer those needs.Your first test in CypressYou will start your journey by discovering the fundamental building blocks of Cypress tests. From the very beginning, together we will write your first E2E test. Where I take it apart and explain each of the parts in detail, such as:Test suite & Test structureVisiting pageSelecting elements using browser dev toolsPerforming actions on selected elementsAssertionsHowever, that's not all. You will also learn how you can improve your tests to follow best practices.You will learn how to create custom commands, which will make your tests more readable. How to dynamically generate test data for your tests and VS code extensions that will make your work more effective.Master selecting elements In test automation, 50% of success are correctly selected elements. Cypress provides a set of query commands, which helps us in that matter. In this course, I have prepared a separate section, where you will have the opportunity to familiarize yourself with each of them, and how you can combine them to unlock their full potential!Practice writing E2E testsDuring this course, you will write many end-to-end (E2E) tests for the "Conduit" blogging application. Together we'll cover critical features of this application such as:LoginRegisteringHeader navigationDetailed explanation of how Cypress works and its core conceptsTo write tests in Cypress properly it's crucial to understand how it works. Otherwise, you can get a headache trying to figure out the cause of your problems. I have done my best to explain very deeply how those mechanisms are working, covering what and why. Not leaving you with many unknowns or questions. You will learn about:Rules of actionabilityRetry-ability mechanismTimeoutsTest retriesAliasesUnderstand Cypress asynchronous nature and how to deal with thatHow to iterate over DOM elementsmany more…So, be ready for a deep dive into the core mechanism standing behind Cypress! Elevate your test automation skills by applying design patternsYou will learn how to structure your tests for better readability, scalability, and maintenance. Using the most popular design pattern - Page Object Model.However, we will not stop at the basics of Page Object. We will dive deeper into that topic. You will learn about two other patterns, Component Object & Composition pattern.Which will let you unlock the full potential of the Page Object pattern and will prepare you to build a robust automation framework for applications with complex architecture.By the end of this course, you will be able to start writing good tests in Cypress, together with applying best practices and design patterns and if necessary extend your knowledge on more sophisticated topics with ease.Subscribe now! and kickstart your journey towards becoming a proficient Cypress Test Automation Engineer!You have nothing to lose here. You get a 30-day return guarantee, with no questions asked.So, enroll now and see you in the course.
Overview
Section 1: Introduction
Lecture 1 About the Course
Lecture 2 Welcome to the course!
Lecture 3 Q&A
Lecture 4 What is Cypress & E2E tests
Section 2: Environment setup
Lecture 5 Install NodeJS
Lecture 6 Install GIT
Lecture 7 Install VS Code
Lecture 8 Install PostgreSQL
Lecture 9 Setup application
Lecture 10 Install Cypress
Section 3: First test in Cypress
Lecture 11 Test suite structure: What are ‘describe’ and ‘it’?
Lecture 12 Test structure: AAA pattern
Lecture 13 Cypress code completion
Lecture 14 Step 1: Visiting page (Arrange)
Lecture 15 Step 2: Selecting elements
Lecture 16 Exercise: Selecting form elements
Lecture 17 Solution: Selecting form elements
Lecture 18 Step 3: Perform action (Act)
Lecture 19 Dynamic test data generation
Lecture 20 Step 4: Check result (Assert)
Lecture 21 Custom command: getByTestId
Lecture 22 Test execution control: Exploring .only() and .skip()
Lecture 23 Exercise: Write your first tests!
Lecture 24 Solution: Write your first tests!
Lecture 25 Hooks
Section 4: Selecting elements
Lecture 26 Select by text - contains()
Lecture 27 contains() element preference
Lecture 28 Select by position in list - eq(), first(), last()
Lecture 29 Find elements within set scope - find()
Lecture 30 Filtering elements - filter(), not()
Lecture 31 Exercise: Find me!
Lecture 32 Solution: Find me!
Lecture 33 Multiple element visibility check
Lecture 34 Best practices in selecting elements
Section 5: Cypress core concepts
Lecture 35 Rules of actionability
Lecture 36 Changing viewport
Lecture 37 NPM scripts & Headless mode
Lecture 38 Exercise: Register form validation errors
Lecture 39 Solution: Register form validation errors
Lecture 40 Retry-ability
Lecture 41 Timeouts
Lecture 42 Test retries
Lecture 43 Selecting dropdown menu value
Lecture 44 Exercise: Login test suite
Lecture 45 Solution: Login test suite - Part 1
Lecture 46 Solution: Login test suite - Part 2
Lecture 47 Custom command: Login
Lecture 48 Fixtures: Store data in one place
Lecture 49 Testing page navigation
Lecture 50 Exercise: Test header navigation
Lecture 51 Solution: Test header navigation
Lecture 52 Synchronous vs Asynchronous
Lecture 53 Cypress asynchronous nature
Lecture 54 Subject management - Part 1
Lecture 55 Subject management - Part 2
Lecture 56 Subject management - Part 3
Lecture 57 Exercise: Manage the subject
Lecture 58 Solution: Manage the subject
Lecture 59 Aliases - Query & Static
Lecture 60 Iterate over DOM elements
Lecture 61 Iterate over DOM elements - Examples
Lecture 62 Test isolation
Lecture 63 Summary
Section 6: Page Object Model pattern
Lecture 64 What is Page Object Model pattern?
Lecture 65 Implementing Page Object - Part 1
Lecture 66 Implementing Page Object - Part 2
Lecture 67 Exercise: Implement your first Page Object
Lecture 68 Solution: Implement your first Page Object
Lecture 69 What is Component Object?
Lecture 70 Implementing Component Object
Lecture 71 Page related Component Object
Lecture 72 Common elements
Manual Testers who want to quickly learn Cypress from scratch,Test Automation Engineers who switching from Selenium to Cypress,Web Developers who want to quickly learn Cypress from scratch