Cypress Framework

Cypress framework is a JavaScript-based end-to-end testing framework built on top of Mocha – a feature-rich JavaScript test framework running on and in the browser, making asynchronous testing simple and convenient. It also uses a BDD/TDD assertion library and a browser to pair with any JavaScript testing framework.

Two primary features developed specifically for Cypress framework are:

  • Automatic waiting – Cypress waits for the elements to become visible, the animation to complete,DOM to load, the XHR and AJAX calls to be finished, etc. Hence, there is no need for implicit and explicit waits to be defined.

  • Real-Time Reloads – Cypress is intelligent enough to know that after saving a test file (xyz_spec.js file), the tester is going to run it again. So, it automatically triggers the run next to the browser as soon as the tester saves their file. Hence, there is no need to manually trigger the run.

Features of Cypress Framework

  • It waits to execute the test command automatically and enacts assertions before executing the next commands to be run.

  • It captures screenshots during test case execution to help with debugging.

  • It debugs test execution more efficiently since it provides the interactive test execution with Test Runner and logs.

  • Because of architectural design differences from other test frameworks, it provides users with faster and more reliable test execution.

Installation of Cypress Testing Framework

Cypress can be installed using Npm package manager as shown below:

npm install cypress --save-dev

The Cypress desktop application supports the following operating systems:

  1. MacOS 10.9 and above (64-bit only)

  2. Windows 7 and above

  3. Linux Ubuntu 12.04 and above, Fedora 21 and Debian.


One needs to have Node.js preinstalled in their systems as Cypress is a Node-based application. Node.js is a JavaScript runtime environment. One can download and install Node.js for a particular operating system from this official resource. The Node.js installation also covers the installation of npm (Node package manager).

Cross verify the Node.js installation by running the command: node –version in the terminal. To verify