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 TDD

TDD is a software development process that relies on requirements being turned into very specific test cases. After writing these test cases, the code is then written and checked against other test cases. The final step in the TDD process is to iterate and improve the code to make sure it adheres to the best practices required and that the test cases pass. The cycle of a TDD approach consists of the following steps:

  1. Defining the functionality that needs to be implemented
  2. Writing a new test
  3. Running the test to check whether the test fails
  4. Writing code for the test case to pass
  5. Running the test against the added functionality to make sure the test passes
  6. Refactoring the code
  7. Repeating this process

The purpose of TDD is to visualize the end before development has started. That way, it is possible to foresee the problems or hurdles that may arise during the development process. Being able to develop a feature using the TDD approach...