To see Cypress results as a run progresses, use its default spec reporter, which writes to standard output (STDOUT). To show JUnit output in the terminal while saving an XML report, select the built-in junit reporter and set toConsole=true and mochaFile. To keep a hosted run history with results and artifacts, configure Cypress Cloud and run Cypress with --record.
Choose where Cypress results should appear
“Stream results” can mean live progress in a terminal, machine-readable output for a CI system, or a hosted record of a run. These are separate destinations; Cloud recording is not required for terminal output or JUnit XML.
As an Amazon Associate I earn from qualifying purchases.
| What you need | Use | What it provides |
|---|---|---|
| Human-readable progress and a pass/fail summary in the terminal or CI log | The default spec reporter |
Reporter output on STDOUT |
| Terminal output plus a machine-readable report file | The built-in junit reporter with toConsole=true and mochaFile |
JUnit XML output and console output |
| A hosted, browsable record of a run and related artifacts | Cypress Cloud with --record |
Run, test, and spec views, with supported artifacts and run information |
Stream human-readable output to the terminal
Run Cypress as usual:
npx cypress run
Cypress uses the Mocha spec reporter by default and writes its output to STDOUT. In CI, that means the output appears in the job log if the CI runner captures the command’s standard output. This is the simplest option when people need to watch progress or inspect a summary and no separate XML artifact is required.
Free tools Windows power users keep installed
One-click scans. No signup required.
Cypress also supports custom Mocha reporters. Use one when the default output does not fit your terminal or reporting workflow; reporter configuration changes what Cypress emits, but the CI system’s own log display and report-import steps depend on that system.
Write JUnit XML and show it in the console
Use the built-in JUnit reporter with a report path and toConsole=true:
npx cypress run --reporter junit --reporter-options "mochaFile=results/my-test-output.xml,toConsole=true"
This asks Cypress to write JUnit XML to results/my-test-output.xml and send reporter output to the console. Ensure the results directory exists or is created by your build workflow before the run.
Put the settings in Cypress configuration
You can configure the reporter instead of passing the flags on every command. For example, in cypress.config.js:
const { defineConfig } = require('cypress');
module.exports = defineConfig({
reporter: 'junit',
reporterOptions: {
mochaFile: 'results/my-test-output.xml',
toConsole: true,
},
});
Use the configuration file and module format that match your project. The equivalent CLI flags are useful for a one-off run or when the CI job supplies reporter settings dynamically.
Keep reports from every spec
A static XML filename can be overwritten during a multi-spec run, so the final file may contain only the last spec’s report. If you need every spec’s results, configure a per-spec filename using the JUnit reporter’s [hash] token, then merge the generated files with a report merger selected for your project.
The merge command varies by merger, so there is no universal Cypress command to paste here. Verify the merger’s syntax and configure your CI workflow to publish or ingest the merged XML. Cypress generates the report; the receiving CI product determines how that artifact is imported and displayed.
Record results in Cypress Cloud
Cypress Cloud is an optional hosted destination for recorded runs. It requires a configured Cypress project and a record key. Once those prerequisites are in place, pass the key on the command line:
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →npx cypress run --record --key <record-key>
For CI, you can instead set the key in the environment as CYPRESS_RECORD_KEY, then run:
npx cypress run --record
Keep the record key in your CI secret store rather than committing it to source control. The --record option sends run information to Cloud; it is separate from choosing a terminal reporter or saving JUnit XML.
Rank #4
What a recorded run can contain
Cloud run pages organize results at run, test, and spec levels. Recorded information can include test results and definitions, terminal standard output, Cypress configuration excluding Cypress environment variables, screenshots, videos, and CI or Git-related operating-system environment variables. Test Replay, when enabled, can capture additional debugging data such as rendered DOM and CSS, Cypress command events, network traffic, and browser console logs. Check Cypress’s current data-storage controls and settings for the details applicable to your project.
Failure screenshots are supported during cypress run by default unless disabled. Video recording is off by default; set video: true in Cypress configuration to enable it. Cypress records video per spec.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Troubleshoot missing or incomplete output
- No progress in the CI log: First run
npx cypress runlocally and confirm output appears in the terminal. Check that the CI step runs Cypress in a mode that emits reporter output and that the job displays captured STDOUT. - XML exists but the terminal is quiet: Confirm you selected the
junitreporter and includedtoConsole=truein the reporter options. Check that the options are passed as one correctly quoted CLI argument in your shell. - Only one spec appears in the XML: A reused static
mochaFilecan be overwritten across specs. Generate per-spec filenames with[hash], then merge the files using your chosen merger. - No XML file is found: Check the configured
mochaFilepath relative to the run’s working directory, ensure its parent directory exists, and confirm the CI job retains or uploads that path as an artifact. - No Cloud run appears: Confirm the project is configured for Cloud, the record key is available to the process, and the command includes
--record. In CI, check that the secret is present in the job environment asCYPRESS_RECORD_KEY. - No video is attached: Video is disabled by default. Enable
video: trueforcypress runand verify the run’s artifact handling. - The CI system does not show an imported JUnit report: Cypress-side XML generation does not automatically configure every CI vendor’s report importer. Follow the receiving system’s instructions for publishing or ingesting the generated XML.
Or skip the browser setup
ScreenshotNeo does not stream Cypress’s test reporter output or replace Cypress Cloud. It can capture a website screenshot or PDF through one GET request, which may help when a workflow also needs a visual capture of a page such as a test dashboard. For Cypress results themselves, use the reporter or Cloud options above.
Best Value
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 request options. ScreenshotNeo removes cookie banners, newsletter popups, and chat widgets before capture; bot checks, blank pages, and failed loads are not billed. Its MCP server provides screenshot tools for AI agents, and the free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000. Sign up for ScreenshotNeo’s free plan.
Frequently Asked Questions
Does Cypress Cloud have to be enabled to see test output in CI?
No. Cypress’s reporter output can appear in the CI log without Cloud recording.
Can Cypress write both JUnit XML and console output?
Yes. Configure the JUnit reporter with a mochaFile path and toConsole=true.
Does Cypress record video automatically?
No. Video is disabled by default; enable video: true for cypress 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.




