Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

Short answer: Percy’s documented “No snapshot was uploaded” diagnostic does not establish a universal switch that makes your test command fail whenever a snapshot is missing. First separate a test that fails before its Percy call from a test that finishes but produces no uploaded snapshot. Then verify that the snapshot call is reached, inspect Percy and test-run output, check the token and CI environment, and confirm the build contains the expected snapshot. The exact failure-propagation behavior depends on your framework, Percy SDK, CLI, and versions.

What Percy’s “No snapshot was uploaded” message means

Percy’s build page displays the message “No snapshot was uploaded.” It adds that this could happen if tests failed in CI and nothing was uploaded, and advises ensuring that the CI environment is passing and Percy commands are executing successfully. That is a documented possible cause, not an exhaustive explanation of every missing-snapshot case.

Two situations are easy to confuse:

Situation What happened What you can conclude
Test fails before the Percy call An assertion, hook, browser error or setup problem stops execution before the snapshot helper runs. No snapshot may be uploaded because execution never reached the call.
Test completes but no snapshot appears The test process reaches or appears to reach the snapshot code, yet Percy’s build has no expected snapshot. The public guides reviewed do not define a universal exit code or guarantee that this condition fails the test process.

Do not treat npx percy exec as a guaranteed missing-snapshot assertion. Percy’s Cypress and Jest guides document how to request snapshots and run tests through the Percy CLI, but they do not promise that every capture or upload failure automatically changes the test exit status.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use the documented Percy workflow correctly

Cypress

  1. Install the Percy CLI and the Percy Cypress SDK used by your project.
  2. Add the SDK’s snapshot call inside the Cypress test, after the page is in the state you want to compare.
  3. Provide the Percy project token to the CI job using its secret-management facility.
  4. Run the suite through Percy: npx percy exec -- cypress run.

Use the package and snapshot-helper syntax from the current Cypress guide for your installed SDK version. A command copied from another major version can compile or run differently.

#1 Best Overall
Sale
Kodak PIXPRO FZ45 Digital Camera, 16MP Point & Shoot (Black)
  • 16MP Sensor: Captures detailed photos with a CMOS sensor for everyday shooting
  • Optical Zoom: 4x optical zoom with a 27mm wide angle lens for flexible framing indoors or outdoors
  • Full HD Video: Records 1080p video for travel clips, family moments, or simple vlogging
  • Memory Support: Works with Class 10 SD, SDHC, or SDXC cards up to 512GB
  • LCD Screen and Battery: 2.7in LCD screen with 2 AA alkaline batteries for convenient on-the-go use

Jest

  1. Install the Percy CLI and the Jest integration documented for your project.
  2. Call the Percy snapshot helper from the test after rendering the intended state.
  3. Set the Percy project token in CI.
  4. Invoke Jest through Percy: npx percy exec -- jest.

These commands launch the test runner under Percy; they are not, by themselves, a documented assertion that a named snapshot was uploaded.

Build a check that distinguishes test failure from missing capture

1. Prove that execution reaches the snapshot call

Put a clear log or test-side marker immediately before and after the snapshot helper. Keep the marker in CI output so you can answer “did the test get this far?” without inferring it from Percy’s build page.

// Illustrative Cypress structure; use your installed SDK's helper name
it('captures the checkout page', () => {
  cy.visit('/checkout');
  cy.get('[data-testid="checkout"]').should('be.visible');
  cy.log('PERCY_SNAPSHOT_START checkout');
  // call the snapshot helper documented for your Percy Cypress SDK here
  cy.log('PERCY_SNAPSHOT_RETURNED checkout');
});

If the first marker is absent, investigate the ordinary test failure. If both markers appear, you have shown that the code path returned; you have not proved that Percy accepted and uploaded the snapshot.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

2. Let genuine test and helper errors fail normally

Do not catch and discard exceptions from the Percy helper. An error thrown by the SDK should remain visible to the test runner. Likewise, avoid an unconditional “success” assertion in an afterEach hook that could hide an earlier failure.

3. Inspect the complete command output

Save the test and Percy CLI logs as CI artifacts. Look for the project-token warning, authentication errors, browser launch failures, network timeouts, messages showing that the Percy process started, and any line indicating that a snapshot was queued or uploaded. A green test runner with a missing Percy build is a different investigation from a red runner that never reached the helper.

Rank #2
Sale
Kodak PIXPRO FZ55-BK 16MP CMOS Sensor Camera 5X Optical Zoom 28mm Wide
  • 16MP Sensor: Captures detailed photos with a CMOS sensor for everyday shooting
  • Optical Zoom: 5x optical zoom with a 28mm wide angle lens for flexible framing indoors or outdoors
  • Full HD Video: Records 1080p video for travel clips, family moments, or simple vlogging
  • Memory Support: Works with Class 10 SD, SDHC, or SDXC cards up to 512GB
  • LCD Screen and Battery: 2.7in LCD screen and a rechargeable lithium-ion battery for on-the-go use

4. Check configuration and the CI environment

  • Confirm the Percy token belongs to the intended project and is available to the job that runs the tests.
  • Confirm the Percy CLI and framework SDK are installed in the same job and resolve to the versions you expect.
  • Check that the CI command actually uses percy exec, rather than running the test runner directly in one branch of the pipeline.
  • Check browser startup, outbound network access, proxy settings and job time limits.
  • Open the Percy build and verify whether any snapshot was uploaded and whether it belongs to the expected commit or branch.

These are investigative checks consistent with Percy’s documented workflow. They are not a promise that one setting fixes every missing snapshot.

How to make CI fail safely when Percy is unavailable

The reliable part you control is your own test and process contract. Make the test fail for the conditions your code can observe: a page that never reaches the required state, an SDK exception, or a missing local marker that proves the snapshot path ran. Then make the CI job fail on the test runner’s non-zero exit status. Do not label that contract “snapshot uploaded” unless you have an official, version-specific Percy check that confirms upload.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For a stronger gate, add a separate post-test verification step that queries a supported Percy API or build-status integration for your exact account, SDK and CLI versions. Configure that step only after confirming the endpoint, authentication method, build identifier and documented status semantics in Percy’s current documentation. The material available for this article does not establish a universal endpoint, flag or exit code, so no supposedly portable verification script is included here.

A practical CI decision tree

  1. Test command exits non-zero: fix the ordinary test or setup failure first; Percy may have received nothing because execution stopped early.
  2. Test exits zero and Percy shows a snapshot: the expected path worked; continue with visual review and your normal Percy status policy.
  3. Test exits zero and Percy shows no snapshot: treat this as an unresolved capture/upload condition. Preserve logs, verify token and versions, and use a documented build-status check if your Percy setup provides one.
  4. CI must block merges on visual status: use the status mechanism supported by your repository/Percy integration, and validate its behavior with a deliberately controlled test. Do not assume the CLI wrapper alone supplies that policy.

Troubleshooting common missing-snapshot symptoms

The test fails before any Percy log line

Usually the test, fixture, browser or dependency setup failed first. Read the earliest error, reproduce the test without Percy, and restore a passing test path before diagnosing upload behavior.

The snapshot-start marker appears, but the return marker does not

The helper may have thrown, hung, or terminated the process. Preserve the stack trace and CLI output, then check token, network and package-version problems. Do not swallow the exception merely to keep the suite green.

Rank #3
Sale
Digital Camera, Latest FHD 1080P Digital Camera for Teens with SD Card Anti Shake Point and Shoot Cameras Portable 16X Zoom Compact Small Cameras for Kids Boys Girls Seniors with Wrist Strap
  • Latest Digital Camera Built-in Fill Light : This compact digital camera is paired with a powerful CMOS processor and image stabilization to help you take & record the most exciting moments in 44 MP quality images & FHD 1080P quality videos anywhere, anytime. Plus, there is also a built-in fill light to help you take high quality pictures even in low light&dark settings, making this the perfect camera for all indoors/outdoors situations.
  • Long-Lasting Battery Life & 16X Digital Zoom :This point and shoot camera will retain its battery charge even after long use. The controls and functions are easy to operate making this the perfect choice for children, teens and younger. This kids camera supports 16x digital zoom, you can zoom in or out the subject by pressing the W/T button for taking still photos to zoom in or out on distant objects and capture all the details you need.
  • Multifunctional & Portable Digital Camera: This cheap digital camera is slim enough to fit in your pocket. You'll easily be able to take it with you on all your indoor/outdoor activities and adventures and ideal for beginners, children and teenagers. This kids digital camera is equipped with 20 filters, anti-shaking, self-timer, continuous shooting, date stamp, time-lapse recording, smile capture, internal MIC and speaker (recording sound videos), great for your daily photography needs.
  • WEBCAM & PAUSE FUNCTION : More than just a FHD 1080p digital camera, it also works as a webcam for video calls and vlogging. Connect the camera to the computer, press shutter and power button at the same time and the camera will automatically turn on webcam mode for all your video calling and live streaming needs. The pause function allows you to pause when seeing playback videos.
  • A Must Have Photography Device : This digital camera with SD card made from high-quality materials, this retro camera is safe and durable. Perfect for all ages to develop & improve their photographic abilities and observation skills. Our dedicated and experienced 24/7 support team is available for all after purchase troubleshooting, questions and technical help.

Both markers appear, but Percy says no snapshot was uploaded

The markers prove only that your code path returned. Check the Percy build selected in CI, project token, branch/commit metadata, and CLI output. The public documentation cited here does not say that a returned helper call always proves server-side upload.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Local runs work but CI does not

Compare secrets, Node and package versions, browser availability, proxy rules, outbound access and the exact command line. Ensure the token is injected into the same process that runs percy exec, and that the CI job has not disabled the Percy step conditionally.

A Percy build exists but contains fewer snapshots than expected

Count the tests that should call the helper and compare that with CI logs. A failing test, skipped test, conditional branch or early return can reduce the count without a Percy service outage.

What is and is not established about automatic failure

  • Percy explicitly documents “No snapshot was uploaded” and identifies a failing CI test with nothing uploaded as one possible explanation.
  • Percy’s public Cypress and Jest guides document snapshot calls and execution through the Percy CLI.
  • Those guides do not establish a universal missing-snapshot exit code, switch or guarantee for every SDK, CLI and framework combination.
  • Therefore, any claim that a particular wrapper command always fails CI when a snapshot is absent requires verification against the versions in your project.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

If your actual need is a clean website image rather than a Percy visual-regression build, ScreenshotNeo provides a one-request screenshot API. It accepts consent banners before capture and removes more than 60 known consent platforms, newsletter popups and chat widgets; bot checks, blank pages, timeouts, failed loads and cache hits are not billed. Each response identifies the page verdict and billing result in X-Page-Verdict and X-Billed headers. Its MCP server exposes take_screenshot, get_page_info and capture_pdf for Claude, Cursor and other MCP clients.

cURL:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

Python:

import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)

Node.js:

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

See the ScreenshotNeo API documentation for the full option set, including full-page and selector capture, device presets, dark mode, custom CSS/JavaScript, waits, request blocking, cookies and headers, PDFs, caching, signed links, asynchronous jobs, bulk capture and usage data. Every plan includes every feature. The Free plan includes 1,000 shots per month without a card; paid plans start at $5 for 3,000 shots. Other listed plans are Growth $15/15,000, Pro $39/60,000, Scale $99/250,000 and Business $249/1,000,000; yearly billing gives two months free.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Sign up for ScreenshotNeo’s free 1,000-shot plan with no card required.

Rank #4
Kodak PIXPRO FZ55-RD 16MP Camera 5X Optical Zoom 28mm Wide Angle 1080p
  • 16MP Sensor: Captures detailed photos with a CMOS sensor for everyday shooting
  • Optical Zoom: 5x optical zoom with a 28mm wide angle lens for flexible framing indoors or outdoors
  • Full HD Video: Records 1080p video for travel clips, family moments, or simple vlogging
  • Memory Support: Works with Class 10 SD, SDHC, or SDXC cards up to 512GB
  • LCD Screen and Battery: 2.7in LCD screen and a rechargeable lithium-ion battery for on-the-go use

Recommended operating rule

Fail the test for test-observable failures, preserve Percy output, and verify missing snapshots with a documented, version-specific build-status mechanism rather than an assumed CLI flag. That approach prevents a real application failure from being hidden while avoiding an unsupported promise about Percy’s upload semantics.

Frequently Asked Questions

Can I use an assertion to prove Percy uploaded a snapshot?

A local assertion can prove that your test reached and returned from the snapshot helper, but the sources here do not document that this proves server-side upload. Use a supported Percy build-status check for your exact integration when available.

Does a green Percy-wrapped test guarantee a Percy snapshot exists?

No universal guarantee is documented. A green test can still require investigation if the Percy build contains no expected snapshot.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Should I catch Percy errors and fail the test myself?

Do not suppress SDK exceptions. Let them reach the test runner, and add your own observable markers or assertions only for conditions your code can actually determine.

Quick Recap

SaleBestseller No. 1
Kodak PIXPRO FZ45 Digital Camera, 16MP Point & Shoot (Black)
Kodak PIXPRO FZ45 Digital Camera, 16MP Point & Shoot (Black)
16MP Sensor: Captures detailed photos with a CMOS sensor for everyday shooting; Full HD Video: Records 1080p video for travel clips, family moments, or simple vlogging
$99.99
SaleBestseller No. 2
Kodak PIXPRO FZ55-BK 16MP CMOS Sensor Camera 5X Optical Zoom 28mm Wide
Kodak PIXPRO FZ55-BK 16MP CMOS Sensor Camera 5X Optical Zoom 28mm Wide
16MP Sensor: Captures detailed photos with a CMOS sensor for everyday shooting; Full HD Video: Records 1080p video for travel clips, family moments, or simple vlogging
$139.99
Bestseller No. 4
Kodak PIXPRO FZ55-RD 16MP Camera 5X Optical Zoom 28mm Wide Angle 1080p
Kodak PIXPRO FZ55-RD 16MP Camera 5X Optical Zoom 28mm Wide Angle 1080p
16MP Sensor: Captures detailed photos with a CMOS sensor for everyday shooting; Full HD Video: Records 1080p video for travel clips, family moments, or simple vlogging
$139.99

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.