April 2, 2021

What is Cypress Testing? What It Is and How to Get Started

Continuous Testing

For those of you looking to get started with Cypress testing, you have come to the right place. 

In this step-by-step tutorial, we will show you how to easily start with Cypress testing by integrating this framework with Perfecto's robust test automation platform. 

Feel free to follow along or skip to the section that interests you the most. 

Back to top

What is Cypress?

Cypress is a JavaScript-based end-to-end testing tool designed for modern web test automation. This developer-friendly tool operates directly in the browser using a DOM manipulation technique and enables front-end developers and QA engineers to write automated web tests while eliminating pain points.

As many of us know, Cypress is an up-and-coming web testing framework that has recently grown in popularity for its wide range of benefits. Plus, this growing solution for web test automation is a formidable alternative framework to Selenium, which has long been the de facto web automation framework.

Complementing the leading Selenium WebDriver framework that has various language bindings and is built on a grid architecture, Cypress testing benefits its users from the test creation phase through its test execution abilities.

Related Reading: What's New in Cypress 10? Everything You Need to Know >>

Back to top

Benefits of Cypress Testing Automation

There are many reasons to use Cypress testing either instead of or in tandem with other web testing frameworks. Here are some of the key benefits of Cypress.

1. Cypress Is More Universal

When compared to other automation frameworks, Cypress is more universal because it is written in JavaScript and based on Mocha and Chai. It also uses Node.js when running in browsers. 

The fact that Cypress is based on JavaScript is incredibly important since JavaScript is the main language used by developers to develop websites. Since Cypress tests are created in a language that is already familiar to developers, it makes the tool that much more user-friendly.

With Cypress, you can also run cross-browser testing. You can execute tests with Cypress on Firefox and browsers within the Chrome family, such as Edge and Electron.

2. Cypress Automation Is Simple to Set Up

It is easy to get started with Cypress automation for web testing. If you have worked with Selenium in the past, you know that you must select all the dependencies and libraries that you need before you start testing. With Cypress, these dependencies and libraries are already set in place with no configuration needed.

In addition, Cypress comes bundled with a Chrome browser, so there is no complex environment to set up. In addition, you can any other browser that is installed on your local machine to test with Cypress. This flexibility and simple setup are highly advantageous when compared to Selenium, which requires the user to download a relevant driver and set up a grid to start testing. 

3. Cypress Has Debugging Capabilities

You can debug your web apps with Cypress quickly and easily. When tests fail, you get suggestions for how to fix the defect. From there, you can debug directly from Chrome DevTools. Also, Cypress supports capabilities like Time Travel and real-time reload, so developers can examine their website code both during and after a test execution.

Since Cypress also has access to every object, it simplifies and streamlines error analysis. Cypress can provide screenshots of test failures, which makes finding defects and debugging apps quick and simple.

Cypress testing features list

4. Cypress Automation Offers Fast Test Execution

Cypress is known for its fast test execution — with a response time of less than 20 MS. Cypress has automatic waiting built into the framework, which means that you do not need to define implicit and explicit waits. The framework automatically waits for things like DOM loading, animation, elements, and more.

Furthermore, the framework also runs subsequent tests automatically after the first one is executed. This eliminates downtime and the need to manually trigger the next test.

5. Cypress Has an Active Community

Cypress is a free and open-source framework. It operates on a freemium model, where you can use the free version or paid version. The paid version includes advanced features, such as a dashboard with artifacts, such as DOM snapshots, which are helpful for debugging, as well as video storage.

Interest is growing in Cypress, and it boasts an active community on GitHub, Gitter, and StackOverflow. Plus, Cypress offers robust documentation.

Back to top

How to Get Started With Cypress Testing Automation

As a leader in the testing space, Perfecto is proud to already offer full support for the Cypress test automation framework. Perfecto makes it simple to get started with Cypress testing — with Cypress executing web tests on browsers in the Perfecto cloud.

To get started with Perfecto and Cypress, follow these steps:

  1. Install the Perfecto-Cypress SDK through: “npm I perfecto-cypress-sdk
  2. After installing, run the init command to generate your initial perfecto-config.json file:perfecto-cypress init --tests.path=./tests/

In this step you can also define the cloud name, the Cypress relevant project ID, and more.

  1. To get support for the Perfecto reporting SDK, install the Cypress reporting package by running this command: npm install perfecto-cypress-reporter and then import it inside the support file cypress/support/index.js through this command:

import 'perfecto-cypress-reporter'; // or require('perfecto-cypress-reporter');

  1. In addition to the abovementioned init command, the perfecto-cypress-sdk supports various commands:
    1. Run
    2. Pack
    3. Upload

 To learn each, simply run the command below.

  1. With the new SDK, you can either run your Cypress test specs from the command-line by pointing to a test.spec.js file, or through an artifact key that points to a packed test suite in the Perfecto testing cloud.

    Below are the supported command options and their shortcut aliases, including the known reporting SDK commands that should be passed as well.

  1. When uploading a Cypress test suite to the Perfecto cloud, utilize the below command options. It is recommended to pass the securityToken as a parameter rather than storing it in the perfecto-config.json file.
  1. Perfecto’s Cypress SDK is fully compliant with Cypress. It supports Chrome, Firefox, and Edge browsers across the various permutations. Configuring the platform capabilities is done within the perfecto-config.json file (see below example).
Back to top

Cypress Testing With Perfecto: How They Work Together

Open-source only takes you so far. Perfecto is an end-to-end cloud testing platform that works with tools like Cypress, Jenkins, Selenium, and more, and syncs them all together so you can execute at scale.

How Gliffy Developers Sped Up End-to-End Testing With Cypress + Perfecto >>

With Perfecto and Cypress, you can:

  • Run Cypress tests in the cloud in parallel and at scale.
  • Run Cypress tests from a cloud and secured repository from command-line of CI (e.g. Jenkins).
  • Utilize the Perfecto reporting SDK within Cypress test execution for enhanced quality visibility, tagging, and app debugging purposes.

Benefits of Cypress Testing With Perfecto

Perfecto makes Cypress testing faster and easier to scale. Being an open solution, Perfecto fully compliant with Cypress and integrates into your CI/CD pipeline through tools like Jenkins. Perfecto also integrates with many other frameworks, such as Selenium and WebDriverIO for web testing, as well as mobile testing frameworks like Appium, Espresso, and XCUITest.

Back to top

See Cypress Automation At Scale

Perfecto pairs perfectly with Cypress, offering continuous end-to-end testing and support and speedy web testing at scale. When you pair your Cypress testing with Perfecto, you will be able to access the browser permutations you need to test against in the cloud and move faster with parallel testing and bursting.

When pairing Cypress with Perfecto, testers and developers can release high-quality apps with ease while experiencing the following benefits: 

  • Extended test coverage.
  • Execute 50% faster than with other solutions.
  • Scale as you grow.
  • Built-in test reporting & analytics.

Experience the power of Perfecto and Cypress together by signing up for a free 14-day trial today.  

Start Trial  


Related Content

Back to top