Free tools Windows power users keep installed
One-click scans. No signup required.
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.
Use the documented Percy workflow correctly
Cypress
- Install the Percy CLI and the Percy Cypress SDK used by your project.
- Add the SDK’s snapshot call inside the Cypress test, after the page is in the state you want to compare.
- Provide the Percy project token to the CI job using its secret-management facility.
- 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
- 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
- Install the Percy CLI and the Jest integration documented for your project.
- Call the Percy snapshot helper from the test after rendering the intended state.
- Set the Percy project token in CI.
- 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.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware match2. 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
- 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.
Recommended Free Tools
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
- Test command exits non-zero: fix the ordinary test or setup failure first; Percy may have received nothing because execution stopped early.
- Test exits zero and Percy shows a snapshot: the expected path worked; continue with visual review and your normal Percy status policy.
- 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.
- 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
- 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.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →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.
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.
Sign up for ScreenshotNeo’s free 1,000-shot plan with no card required.
Rank #4
- 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.
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
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.

