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

Understanding how to stub requests

Now that we know what XHR requests are, it is important to know how we can help Cypress test XHR requests, and better still, how we can avoid actual responses from the server and instead create our own "fake" responses that our application will interpret as the actual responses that have been sent from the server. In this section, we will look at how we can stub XHR requests to the server, when to stub requests, and the impact of stubbing server requests in our tests.

Stubbing XHR requests

Cypress gives the flexibility of allowing users to either have their requests reach the server, or instead have stubbed responses when the requests to the server endpoints are made by the application. With the flexibility of Cypress, we even have the ability to allow some requests to pass through to the server while denying other requests and stubbing them instead. Stubbing XHR responses adds a layer of control to our tests. With stubbing, we are...