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 spy on methods in a test

Spies and stubs are closely related with the difference being that, unlike stubs, which can be used to modify data of a method or a request, spies only obtain the state of the method or request and do not have the ability to modify the method or the request. They work just like real-life spies who only track and report. Spies help us understand the execution of tests, what elements have been called, and what has been executed. In this section, we will learn about the concept of spying in Cypress, the advantages of spying on methods, and how we can utilize spying to write better Cypress tests.

Why spy?

We use spies in Cypress to record calls in a method along with the arguments of the method. By using spies, we can assert that a specific method was called a certain number of times and was called with the right arguments. We can even tell what the return values of a method were, or the execution context of the method at the time it...