
Explore building a complete Cypress project from scratch using TypeScript, API steps, data models, and page objects, with GitHub actions and Allure reporting for end-to-end automation.
Set up a new Cypress project by initializing a node project, installing Cypress and TypeScript, and opening Cypress for end-to-end tests.
Create a Cypress end-to-end register test in TypeScript, fill first name, last name, email, password, and confirm password, click sign up, and verify the welcome message with data-test-id.
Create a Cypress Typescript test to add a todo: log in, click the plus icon, enter text, submit, and verify the do item displays the entered text.
Register a new user, add a todo, delete it using the delete data test id, and verify that no todos remain in the Cypress TypeScript project.
Identify and fix design problems by removing hardcoded URLs and test data, reducing duplication, and building a maintainable framework to minimize flakiness in UI tests.
Improve Cypress tests by avoiding hard-coded urls by adding baseUrl to the cypress.config.ts, enabling path-based tests that start from the signup page.
Add faker to the project to generate test data dynamically. Install faker js as a dev dependency, import faker, and use faker methods to replace hard-coded data in tests.
Explore using API steps to register via the API and start UI tests from that state, reducing UI steps and flakiness to speed Cypress tests, and support API-based todo actions.
Register a user via the api using Cypress ci.request to post to api version one users register endpoint with faker data, then set cookies to log in and bypass UI.
Add a todo via the API in a Cypress Typescript CI/CD workflow by posting to API version 1 tasks with an authorization token extracted from registration.
Fix asynchronous token handling in Cypress by extracting the access token inside a then block and using it for the second API call's authorization header.
Build the user model to manage test data with faker-generated fields and getters, replacing UI-based inputs with API-driven Cypress TypeScript tests and embracing encapsulation.
Organize test code by creating a user API class in the Cypress API folder, with a register method that encapsulates the post request, and reuse it in tests.
Create a todo api class in a Cypress TypeScript project, refactor to fetch and set user access tokens, and implement add todo requests for CI/CD testing.
Build the register page as a Cypress page object in a TypeScript project, with load and register methods and getters for first name, last name, email, password, confirm password.
Build and refactor a todo page using a page object model in a Cypress TypeScript project, introducing private locators and getters to streamline adding, viewing, and deleting todos.
Create a new todo page class in typescript, load the page, fill the new todo input, submit the task, and expose an addTodo method with a task variable; tests pass.
Move api steps from tests into page objects by adding register using api on the registration page and add todo using api on the new todo page, streamlining tests.
Refactor the todo test file by consolidating duplicated setup with a describe block and beforeEach, register the user via API, and share page objects for readability.
Refactor the register flow by moving user token setup into the register API method, making tests cleaner and more readable as Cypress runs show all tests pass.
Configure allure reporting for a Cypress TypeScript project by installing the allure plugin, updating the config, wiring tsconfig for allure writer, and enabling CI/CD.
Configure Cypress with video recording and allure integration, attach api requests to allure reports, and generate an html report via allure serve for GitHub actions and pages.
Create a public GitHub repository for the Cypress Typescript project, configure git ignore for node_modules and allure results, commit and push, and prepare for allure reports on GitHub pages.
Set up GitHub actions to run Cypress tests on the cloud, by creating a .github/workflows/test.yaml, checking out code, installing node 18, and running npm ci and npx Cypress run.
Deploy and manage Allure reports for a Cypress TypeScript project using GitHub Actions, including Allure history handling, token secrets, and deploying to GitHub Pages.
Welcome to "Mastering Cypress: Building a Robust Framework for Real Websites with Best Practices, Reporting, Multi-Browser, and Environment Support"!
Are you ready to take your Cypress skills to the next level and build a complete automation framework for real-world websites? Look no further! This comprehensive Udemy course is designed to equip you with all the necessary knowledge and skills to create a robust Cypress framework that follows industry best practices.
In this course, we'll dive deep into the world of Cypress automation and cover everything you need to know to develop a top-notch framework. Whether you're a beginner or an experienced Cypress user, this course will provide you with the expertise to tackle complex automation projects with confidence.
Throughout the course, we'll guide you through each step of the framework development process. You'll learn how to set up your project structure, implement the Stateless Page Object Model (POM) design pattern, and leverage the power of best practices to write maintainable and scalable automation scripts.
You'll discover how to integrate comprehensive reporting mechanisms into your framework, allowing you to analyze test results and generate detailed reports. Additionally.
Furthermore, we'll delve into the world of multi-browser and multi-environment support. You'll learn how to configure your framework to run tests across various browsers such as Chrome, Firefox, and Safari, ensuring compatibility with different user environments. We'll also cover environment-specific configurations, allowing you to seamlessly switch between test environments, such as development, staging, and production.
By the end of this course, you'll have a fully functional Cypress automation framework that incorporates best practices, comprehensive reporting, parallel execution, and multi-browser and multi-environment support. You'll be equipped with the skills to confidently automate tests for any real website and handle the complexities that come with it.
So, what are you waiting for? Join us on this exciting journey to master Cypress and build a powerful automation framework. Enroll now and take your Selenium automation skills to new heights!