Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesTo find where Cypress time goes, measure at three levels: individual tests, spec files, and the whole CI run. In Cypress Cloud, sort the Slowest Tests view by duration, inspect a run’s Specs tab in Bar Chart view, then use Machines to see whether parallel workers are balanced. If Cloud data is unavailable, use local run output and Cypress’s process-profiler logs alongside your CI utilization graphs.
Start with a comparable baseline
Record a run before changing tests or CI settings. Note the branch, browser, machine configuration, test count, retries, and whether the run was serial or parallel. Compare like-for-like runs afterward: differences in workload or machine resources can obscure whether a change mattered.
As an Amazon Associate I earn from qualifying purchases.
Cypress Cloud views described below require recorded run data. Without Cloud, local Cypress output and process-profiler logs can still help locate test-level delays and resource pressure.
Find whether tests or spec files dominate
Rank individual tests
Open the recorded run’s Slowest Tests view and sort by duration. Start with the tests at the top of the list. Inspect their setup, waits, authentication, and network behavior rather than assuming that the longest test needs a larger machine.
#1 Best Overall
Compare spec durations
Open the run’s Specs tab and switch to Bar Chart. A small number of long bars can point to spec-level imbalance or a concentrated slow path. Cypress Cloud’s Run Duration report shows average duration for passing runs and can be filtered by branch, tag, and time range. In Open Mode, the Specs page can show average duration across the last four runs.
Distinguish test duration from suite duration
A long suite does not by itself identify a slow test: many individually reasonable tests can add up, while one unusually long spec can dominate a parallel run. Use test and spec timings to decide which level to investigate next.
Use Cypress’s duration ranges as triage signals
Cypress’s Optimizing test performance guide publishes the following heuristic ranges. They are guidance, not requirements or guarantees; actual times depend on the application, browser, environment, and setup. The guide did not state a publication date in the retrieved content.
Recommended Free Tools
| Measure | Cypress guidance |
|---|---|
| Individual test | Under 3 seconds: Excellent; 3–10 seconds: Acceptable; 10–30 seconds: Investigate; over 30 seconds: Poor. The guide says component tests should consistently run under 2 seconds. |
| Spec file | Under 1 minute: Excellent; 1–3 minutes: Acceptable; 3–5 minutes: Investigate; over 5 minutes: Poor. |
| Whole suite, fewer than 50 tests | Guide target: under 3 minutes serial. |
| Whole suite, 50–200 tests | Guide targets: under 10 minutes serial and under 3 minutes with 4 or more machines. |
| Whole suite, 200–500 tests | Guide targets: 15–30 minutes serial and under 10 minutes with 4 or more machines. |
| Whole suite, 500 or more tests | Guide suggests parallelization and a target under 15 minutes with 4 or more machines. |
For the suite targets, Cypress describes them as heuristics; they may not fit every project. Treat a range as a reason to inspect a result, not proof that a test is defective.
Rank #2
Check common sources of test-level delay
- Test type: Consider whether the behavior is being tested at an unnecessarily expensive level. Cypress identifies the wrong test type as a common performance issue.
- Repeated login or setup: Look for authentication and other setup repeated in many tests. Cypress recommends
cy.session()where it fits the login workflow. - Real network calls: Determine whether a slow external or application request is essential to the behavior under test. Use measurements to distinguish network waiting from browser or test-code work.
- Arbitrary waits: Prefer waiting for an aliased route or a meaningful condition over a fixed delay. A fixed wait can spend time after work is already complete while still failing to model the condition the test needs.
- CI setup: Include dependency installation, server startup, and other setup in your investigation if they contribute to elapsed pipeline time; test durations alone may not account for the full run.
Profile CPU and memory on CI
Cypress’s process-profiler debug output reports CPU and memory consumption every 10 seconds. For npm, run:
DEBUG=cypress:server:util:process_profiler npx cypress run
Cypress says CPU consistently above 100% indicates that the machine is saturated. Compare the profiler output with utilization graphs in your CI provider’s interface. You can also inspect available runner information with:
npx cypress info
node -p 'os.cpus()'
The same debug prefix can be used with Yarn, pnpm, or Bun; follow the Cypress performance guide for the command form appropriate to your package manager.
If durations vary sharply between otherwise similar runs, check whether CPU or memory pressure varies too. A saturated runner can make tests appear slow even when the same tests run faster locally.
Rank #3
Determine whether parallel spec distribution is the bottleneck
Cypress Cloud parallelization assigns whole spec files to available machines using duration estimates and historical run data. It does not split an in-progress spec across machines. In Cloud’s Machines view, compare which specs each machine ran and how long they took.
If one long spec remains after other machines finish, the remaining work cannot be redistributed mid-run. Consider splitting the longest specs into files with more similar durations, then compare a like-for-like run. Cypress cautions that very short specs—around under 10 seconds—rarely benefit from more splitting, because per-spec overhead such as browser launch and video encoding may outweigh the saved execution time.
Adding machines is most likely to help when the suite is large, specs can be distributed reasonably evenly, and workers are not already limited by another bottleneck. Cypress’s guide suggests considering parallelization when a serial suite exceeds roughly 10–15 minutes, while noting that gains diminish when per-spec overhead dominates.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →The same guide gives a Kitchen Sink example: a 1:51 serial run became 59 seconds with a second machine, a 53% reduction. That is an example from Cypress’s guide, not a speedup promise for other suites.
Rank #4
Choose the next diagnostic from the evidence
| What the measurements show | Next step |
|---|---|
| A few individual tests stand out | Inspect their waits, setup, authentication, test type, and network calls. |
| One or a few specs dominate | Inspect their slowest tests and consider whether spec boundaries can produce more balanced durations. |
| Workers are imbalanced or idle near the end | Use the Machines view to identify the long spec holding up completion; consider balancing spec durations. |
| CPU is consistently above 100%, or resource graphs show pressure | Investigate runner capacity and compare results on an appropriately resourced machine before attributing the delay to test code. |
| Tests are quick but pipeline time is long | Measure setup and other work outside test execution, such as CI preparation and server startup. |
| Parallel workers appear balanced but the suite is still slow | Check whether the individual specs, per-spec overhead, or application and network behavior limit the total improvement. |
After each change, rerun under comparable conditions and check the same test, spec, and run-level measurements. A change is useful only if it targets the observed source of delay.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Account for reporting and runner-display effects
Run averages and individual durations answer different questions: Cloud’s Run Duration report describes average duration for passing runs, while a particular run can be affected by its own retries, workload, and machine conditions. Keep those scopes separate when diagnosing a slow outlier.
Rendering the Cypress Runner UI during cypress run can affect runtime, particularly on lower-resourced machines. Cypress documents that Test Replay changes whether the Runner UI is rendered by default; use --runner-ui only when that display is needed. The API reference documents slowTestThreshold in milliseconds for marking tests slow in cypress run; its default is version-dependent, so check the documentation for the Cypress version in use before configuring a numeric value.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Or skip the browser setup
If you need clean screenshots while diagnosing a page, ScreenshotNeo is a website screenshot API and MCP server for developers. One GET request captures a URL as PNG, JPEG, WebP, or PDF. For example, this cURL request saves a WebP screenshot:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
See the ScreenshotNeo API documentation for setup and options. It accepts cookie or consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each step can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing, and responses indicate the page verdict and billing status. Its MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents. The free plan includes 1,000 screenshots per month without a card; paid plans start at $5 for 3,000 shots.
Sign up for 1,000 free screenshots a month, with no card required.
Frequently Asked Questions
Can I find slow Cypress tests without Cypress Cloud?
Yes. Use local Cypress run output and the process-profiler debug logs, then compare those measurements with your CI provider’s resource graphs.
Does parallelization split a slow spec between machines?
No. Cypress Cloud distributes whole spec files; a spec already in progress is not divided among machines during that run.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




