Book Image

End-to-End Web Testing with Cypress

By : Waweru Mwaura
1 (1)
Book Image

End-to-End Web Testing with Cypress

1 (1)
By: Waweru Mwaura

Overview of this book

Cypress is a modern test automation framework for web-based frontend apps. Learning Cypress will help you overcome the shortcomings of conventional testing solutions such as dependency graph problems, the steep learning curve in setting up end-to-end testing packages, and difficulties in writing explicit time waits for your tests. In End-to-End Web Testing with Cypress, you’ll learn how to use different Cypress tools, including time travel, snapshots, errors, and console output, to write fail-safe and non-flaky tests. You’ll discover techniques for performing test-driven development (TDD) with Cypress and write cross-browser tests for your web applications. As you advance, you’ll implement tests for a sample application and work with a variety of tools and features within the Cypress ecosystem. Finally, this Cypress book will help you grasp advanced testing concepts such as visual testing and networking. By the end of this book, you’ll have the skills you need to be able to set up Cypress for any web app and understand how to use it to its full potential.
Table of Contents (17 chapters)
1
Section 1: Cypress as an End-to-End Testing Solution for Frontend Applications
7
Section 2: Automated Tests with the TDD Approach
12
Section 3: Automated Testing for Your Web Application

Summary

This chapter's focus was mainly on XHR requests and responses and how they interact with the client and the server. We started by first understanding what XHR requests and responses are and how important they are when we want to send requests from the client and also receive requests from the server. In this chapter, we also looked at how we can "fake" server responses by stubbing XHR responses using the Cypress stub functionality that is built into the cy.intercept() command. Finally, we explored the Cypress cy.spy() command, which further gave us an idea of how we can monitor methods in Cypress and get the ability to find out the number of times the methods were executed, how they were executed, their arguments, and even their return values. In the final section, we learned the importance of knowing that with spying, we can only "observe" how the execution takes place, and not necessarily have the ability to change the execution process of the request...