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

A blank Cypress screenshot does not have one universal cause. First determine whether the application was actually blank when Cypress captured it. If the page looked correct but the saved image is empty, check capture mode, tab focus, scrolling, browser rendering, and differences between local and CI runs. The sequence below isolates those possibilities without guessing at an old, version-specific bug.

Start by identifying which screenshot is blank

The investigation changes depending on how the file was produced.

Automatic failure screenshot

Cypress takes automatic failure screenshots in cypress run by default. It does not automatically create them in cypress open. A failure image is captured with the runner view, which includes the Cypress browser area and Command Log rather than only your application viewport. Confirm the file belongs to the current run and check your configured screenshots folder.

Manual screenshot

cy.screenshot() creates an image at the point where that command executes. Record the command, its options, browser, Cypress version, operating system, and whether the run was local or in CI. Those details are essential because a blank manual image and a blank failure artifact can follow different paths.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.

1. Verify that the application was ready

A screenshot is a snapshot, not a wait. If the app is still mounting, navigating, loading data, running a transition, or replacing a canvas, Cypress can capture an intermediate blank state.

Assert the meaningful state, not an arbitrary delay

Wait for an application-specific condition immediately before capture:

cy.visit('/dashboard')
cy.get('[data-cy="dashboard-ready"]').should('be.visible')
cy.get('[data-cy="sales-chart"]').should('be.visible')
cy.screenshot('dashboard')

Prefer a network-backed or DOM assertion over cy.wait(1000). If the page has no reliable marker, add one to the application, such as a data-cy element rendered only after hydration and required data have arrived. For images, wait for the relevant image to be visible and have nonzero dimensions; for a canvas or WebGL view, assert the component’s ready state exposed by the app.

Use video or Test Replay as the timeline

When available, compare the screenshot with the run video or Test Replay. If the page is blank in the recording at the same instant, fix navigation, data, authentication, or application rendering first. If the recording shows the expected UI while the saved image is blank, continue with capture-mode and browser checks.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.

2. Make the capture mode explicit

Cypress has three different capture targets. They are not interchangeable.

Mode What it captures Useful diagnostic
viewport The current application viewport. Use to test whether the visible page itself renders.
fullPage The application from top to bottom, captured by scrolling and stitching. Use only when you need the entire page; scrolling can expose timing and sticky-element artifacts.
runner The browser viewport including Cypress’s runner UI and Command Log. Automatic failure screenshots are coerced to this mode.

For a controlled comparison, create separate files:

cy.screenshot('viewport-check', { capture: 'viewport' })
cy.screenshot('full-page-check', { capture: 'fullPage' })
cy.screenshot('runner-check', { capture: 'runner' })

If viewport is correct but fullPage is blank or incomplete, investigate scrolling, lazy rendering, and page height rather than the application’s initial paint. Full-page stitching can make fixed or sticky elements appear more than once; that duplication is an artifact of the documented scroll-and-stitch process and does not by itself explain a completely empty image. For a component, capture the element directly so the diagnostic region is unambiguous.

3. Check Chromium tab focus and paused rendering

Cypress documents a Chromium-specific condition: a screenshot cannot be captured while the renderer process for the Cypress tab is paused. Opening a new tab is a common trigger, especially when an anchor uses target="_blank". Cypress attempts to activate its own tab before capture, but the timing can still matter.

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

How to isolate it

  1. Identify whether a new-tab click or window-opening script ran immediately before the screenshot.
  2. Reproduce without that action, or change the test so navigation occurs in the existing tab.
  3. Capture the state after the original tab is visibly active and the destination has finished loading.
  4. Compare the result in another supported browser to determine whether the symptom is Chromium-specific.

In open mode, Cypress notes that disabling its extension can force the main tab to the front and steal focus. Keep the extension enabled while diagnosing this behavior; do not treat the focus workaround as a general cure for blank application content.

Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.

4. Synchronize scrolling, movement, and lazy rendering

Element and full-page screenshots can race with scrolling. A historical repository report (Cypress 13.6.1, Node 18.15.0, Windows 11, Chrome 120) described an element image that was one pixel high or partly gray when scrolling had not finished. The reporter used a 750 ms scroll animation and a one-second wait. That report is a case-specific observation, not proof of a current general defect.

Use a stable position first

cy.get('[data-cy="invoice"]')
  .scrollIntoView({ duration: 750 })
  .should('be.visible')
  .then(($el) => {
    expect($el[0].getBoundingClientRect().height).to.be.greaterThan(0)
  })
cy.screenshot('invoice')

Replace a temporary fixed delay with a condition whenever possible: wait for the element’s final class, a completed transition marker, a stable bounding box, or the disappearance of a loading overlay. Also wait for lazy-loaded images and content that appears only after the scroll event.

5. Investigate browser and graphics-specific rendering

Canvas and WebGL content can follow a different capture path from ordinary DOM. A historical issue described a blank Mapbox GL/WebGL image in Firefox 91.7.0 ESR with Cypress 9.5.2, while the map appeared in video and Electron. It does not establish that current Firefox, current Cypress, or all WebGL pages are broken.

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

Compare supported combinations

  • Run the same minimal test in Electron, Chromium, and Firefox versions available to your project.
  • Compare the screenshot with video or Test Replay. A visible recording with an empty image points toward the capture path or graphics backend.
  • Record whether the failing content is canvas, WebGL, a cross-origin iframe, or ordinary HTML.
  • Retest on a current Cypress release before adopting a workaround copied from an old issue.

Do not infer a browser-wide failure from one historical graphics report. The exact Cypress and browser versions, operating system, graphics feature, and symptom must match before the report is useful evidence.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft

6. Compare local, CI, viewport, and runner resources

Cypress recommends isolating environment variables instead of assuming CI is the cause. Run the smallest reproduction locally and in CI, with the same browser and a fixed viewport. Then vary one dimension at a time: browser, headed versus headless mode, viewport dimensions, and application data.

Use a fixed viewport for visual tests

cy.viewport(1280, 800)
cy.visit('/report')
cy.get('[data-cy="report-ready"]').should('be.visible')
cy.screenshot('report', { capture: 'viewport' })

Responsive breakpoints, device-pixel ratios, and missing fonts can make a page appear empty or move important content outside the captured region. Keep the capture environment consistent when comparing images.

Hide runner UI as a diagnostic

The Command Log can create performance issues in some cases. To isolate runner overhead, try:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
CYPRESS_NO_COMMAND_LOG=1 cypress run
cypress run --no-runner-ui

These options hide the runner UI; screenshots and videos will not include it. They are diagnostic switches, not a direct fix for an application canvas that never rendered.

Best Value
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

A repeatable blank-screenshot checklist

  1. Classify the artifact: manual cy.screenshot() or automatic failure image; cypress run or cypress open.
  2. Confirm the file path, timestamp, test name, and run so an old image is not being inspected.
  3. Add an assertion for the real ready state immediately before capture.
  4. Compare the image with video or Test Replay at the same moment.
  5. Capture explicit viewport, fullPage, and, where relevant, an element to identify the failing mode.
  6. Check for a new-tab action and paused Chromium Cypress tab.
  7. Wait for scrolling, transitions, lazy content, and graphics to stabilize.
  8. Repeat with a fixed viewport in another browser and in the other environment (local or CI).
  9. Reduce the case to one visit, one assertion, and one screenshot before trying a workaround.
  10. Only then consult an issue report whose Cypress version, browser, operating system, and symptom match yours.

Common symptoms and targeted fixes

Symptom Most useful next check Likely scope
Image is blank and video is blank Assert route, authentication, data, and app-ready state. Application or test flow.
Video shows UI but image is blank Compare capture mode, browser, tab focus, and graphics content. Capture path or environment.
Only full-page images fail Test viewport capture; wait for scroll and lazy content. Scroll-and-stitch timing or page layout.
Only element images are tiny or gray Wait for final position and nonzero dimensions. Scroll synchronization; historical reports are version-specific.
Only Firefox/WebGL fails Compare Electron/Chromium and current versions. Browser or graphics backend.
Only CI fails Match browser, viewport, fonts, data, and OS; reduce to a minimal test. Environment difference, not necessarily CI itself.

Or skip the browser setup

If your goal is a clean image of a URL rather than Cypress-specific test evidence, ScreenshotNeo provides a website screenshot API and MCP server. It accepts cookie and consent banners before capture, removes more than 60 known consent platforms plus newsletter popups and chat widgets, and lets you turn each cleanup step off. Bot checks, CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed; each response identifies the result with X-Page-Verdict and X-Billed headers.

One GET request returns PNG, JPEG, WebP, or PDF. The API supports full-page screenshots with lazy images loaded, CSS-selector element capture, dark mode, 12 device presets or any viewport, retina scale, PDF paper and page settings, custom CSS and JavaScript, clicks before capture, hidden selectors, waits for selectors/delay/network idle, request and resource blocking, headers, cookies, user agents, Authorization, timezone, geolocation, transparent backgrounds, resizing, configurable-TTL caching, signed image links, asynchronous jobs with signed webhooks, up to 100 URLs per bulk call, usage reporting, and an OpenAPI specification. Parameter names used by other screenshot APIs also work.

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 documentation for options and response handling. The MCP server includes take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients. The Free plan includes 1,000 shots per month without a card; paid plans start at $5 for 3,000 shots, with every feature on every plan. Sign up free.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

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

What to include when asking for help

A useful bug report contains the exact Cypress version, browser and version, operating system, local or CI context, headed or headless mode, viewport, capture command and options, whether the page uses canvas/WebGL or a new tab, the smallest reproducible test, and a screenshot plus video or Test Replay. Without those details, “Cypress screenshots are blank” describes several unrelated failure branches.

Frequently Asked Questions

Why are Cypress failure screenshots different from my manual screenshot?

Failure screenshots are taken automatically in cypress run and use the runner capture, while cy.screenshot() captures the mode and point specified by your test.

Should I always add a fixed sleep before cy.screenshot()?

No. An assertion for the application’s stable, meaningful state is more reliable. Use a short fixed delay only as a temporary diagnostic when no observable condition exists.

Can a blank screenshot prove that my application failed to render?

No. If video or Test Replay shows the UI, investigate capture mode, tab focus, scrolling, browser, and environment before changing application code.

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

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.