Cypress is an open-source and free test automation tool, which can be used extensively in the long run. It is mainly used for front-end test automation. This tool is mainly developed to solve the issues that the teams face while automating an application.
Cypress helps to achieve the following −
- Configure tests.
- Configure tests.
- Execute tests.
- Identify errors (if any).
Selenium and Cypress are often compared in terms of their functionalities. However, Cypress is different in architecture and features. Moreover, it resolves some of the issues we face in Selenium.
Cypress is based on Javascript and executes tests within the browser. It helps to develop the tests which include −
- Unit tests.
- End to end tests.
- Integration tests.
Features
The important features of Cypress are listed below −
- Supports Test-Driven development.
- Provides Dashboard services.
- Efficient debugging with Developer Tools accompanied with generation of stack trace and errors.
- Provides the screenshots for failed tests.
- Not necessary to add waits to stop the execution for some time. By-default, the waits are applied, prior to executing the following step or assertion.
- Able to monitor and control the characteristics of server response, functions, and timers, which are essentially needed for unit testing.
- Check and manage network traffic.
- Allows the multi-browser support.
- In-built feature to capture videos of execution is available.
- Can be integrated with continuous integration tools.
- Page responsiveness with viewport sizing.
- Reloads changes applied to tests by default.
- Friendly Application Programming Interfaces (APIs) are available.
- Test runner available, which allows the test execution straight from the User Interface (UI).
Disadvantages
There are some disadvantages of using Cypress and they are listed below −
- It is only based on JavaScript.
- A relatively new tool and hence, the community support is not extensive.
- It cannot perform mobile testing.
- Shadow Document Object Model (DOM) cannot be accessed.
- Tabs/child windows are managed by workarounds.