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 XHR requests

XMLHttpRequest (XHR) is an API that exists in all modern-day browsers and takes the form of an object whose methods are used to transfer data between a web browser sending the requests and the web server serving responses. The XHR API is unique as we can use it to update a browser page without reloading the page, request and receive server data after a page loads, and even send data to the server as a background task. In this section, we will cover the basics of XHR requests and their importance when it comes to the process of writing our Cypress tests.

Utilizing XHR requests in tests

XHR requests are a developer's dream as they allow you to silently send and receive data from the server without worrying about issues such as errors or waiting times when the client application needs to reload to perform an action. While XHR is a dream to developers, it is a nightmare for testers as it introduces uncertainties such as being unable to know when a...