View all web browser and mobile devices available in our cloud-based test lab.
In this blog, we will show you how to conduct Cypress parallel testing for your web apps efficiently with Cypress and Perfecto.
It could take lots of time for tests to finish running on one computer if your project has a lot of them. When executing tests in Continuous Integration, running them in parallel across virtual machines saves your team time and money (CI).
Since version 3.1.0, Cypress can execute recorded tests in parallel across many computers. While parallel tests can run on a single computer, we do not recommend this because this requires a lot of resources to perform your tests efficiently. Here is our guide to Cypress parallel testing with Perfecto.
Related Resources >> Intro to Parallel Testing: How It Works, Benefits, & Challenges
There are many reasons to use Cypress for web testing either instead of or in tandem with other web testing frameworks. Here are some of the key features and benefits:
Cypress takes snapshots as your tests run. Users can hover over commands in the Command Log to see what happened at each step.
Users can debug directly in Developer Tools. It gives readable errors and stack traces that make debugging lightning fast.
Cypress never adds waits or sleeps to your tests. It automatically waits for commands and assertions before moving on.
Cypress verifies and controls the behavior of functions, server responses, or timers.
Easily control stub, and test edge cases without involving your server. You can stub network traffic however you like.
Cypress architecture does not use Selenium orb WebDriver. That is why it is fast, consistent, and provides reliable results that are flake-free.
View screenshots that are taken automatically on failure, or videos of your entire test suite when run from the CLI.
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.
Perfecto developed a Cypress SDK that allows developers and test engineers to upload, execute or schedule from CI. This SDK is fully agnostic to any Cypress version.
Before performing parallel testing, you need to set up Cypress in Perfecto. This article walks you through setting up the Perfecto-Cypress integration.
Here is a step-by-step guide to parallel testing with Perfecto and Cypress.
First, visit npmjs.com and install npm i perfecto-cypress-sdk.
Install the Perfecto-config.json file and define the different platforms you need to set up. Next, run the command perfecto-cypress-run with the config.json.
Now you can see all the spec.js files. This is a native Cypress example that comes with the framework and does a variety of things on the demo website Cypress provides. Configure and upload all the tests (both functional and API) as a zip file to the demo cloud.
If you go into the cloud, you can see the test being configured and uploaded through a zip file. The benefit of Cypress’s tests is that they run on the VMs themselves, which is very fast and less flaky.
After the execution ends you will see all the test reports with the Cypress logs, the visuals, recordings, and other configurations that are coming with the test case themselves.
On the right-hand side of the screen below is the Cypress framework where the tags are being added to Cypress and SDK. These are the things that you configure in the .json file for the report to be generated within a sheet.
If you want to learn more, visit Perfecto’s help website. You can see the full video of the recording of the Cypress test below. In addition to Perfecto, Cypress can support parallel testing through their CI and advanced dashboard, here is their guide to parallelization.
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. Pair Cypress with Perfecto for even faster web testing at scale. Access the browser permutations you need to test against in the cloud. And move faster with parallel testing and bursting.
Perfecto makes testing with Cypress even better with end-to-end continuous testing support.
DevOps Chief Evangelist & Sr. Director at Perforce Software, Perfecto
Eran Kinsbruner is a person overflowing with ideas and inspiration, beyond that, he makes them happen. He is a best-selling author, continuous-testing and DevOps thought-leader, patent-holding inventor (test exclusion automated mechanisms for mobile J2ME testing), international speaker, and blogger.
With a background of over 20 years of experience in development and testing, Eran empowers clients to create products that their customers love, igniting real results for their companies.