Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run Scan×
Skip to content
World desk5 min

How to Capture Responsive Website Screenshots with Cypress

Use cy.viewport() to test real responsive breakpoints, assert the expected layout, and capture viewport-specific Cypress screenshots reliably.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Set the browser’s application viewport explicitly with cy.viewport(), visit the page, wait for the layout you intend to test, assert its responsive behavior, then capture it with cy.screenshot(). Use { capture: 'viewport' } for one viewport image; Cypress defaults to a full-page capture that scrolls and stitches the page.

Capture the same page at several responsive widths

This Cypress spec visits the root route at three illustrative viewport sizes and saves a screenshot for each. Replace the route, dimensions, and selector with values that match your application.

As an Amazon Associate I earn from qualifying purchases.

describe('responsive page screenshots', () => {
  const widths = [390, 768, 1280]

  widths.forEach((width) => {
    it(`renders at ${width}px wide`, () => {
      cy.viewport(width, 844)
      cy.visit('/')

      // Assert the layout you expect at this breakpoint.
      cy.get('[data-testid="site-nav"]').should('be.visible')

      cy.screenshot(`home-${width}`, { capture: 'viewport' })
    })
  })
})

The example widths are not Cypress-prescribed breakpoints. Choose sizes around your own CSS transitions, and make assertions about the behavior that matters—for example, whether desktop navigation is replaced by a menu button.

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.

Set viewport dimensions deliberately

Use cy.viewport() for a test-specific size

cy.viewport(width, height) sets the application viewport in CSS pixels. It also accepts documented device-size presets and optional portrait or landscape orientation. Before a test changes it, Cypress’s documented default is 1000×660; Cypress restores its default size between tests. See the Cypress viewport API.

#1 Best Overall
HP Stream 14" HD Laptop, Intel Processor N150, 4GB RAM, 128GB UFS, Intel Graphics, Webcam, Wi-Fi 6, Copilot, Fast Charge, Windows 11, Silver (Renewed)
  • 【14" HD Display】The business and leisure activities will undoubtedly benefit from the mesmerizing clarity and brilliance.
  • 【Intel Processor N150】Enjoy seamless multitasking, consistent performance, and significant energy conservation, making it an outstanding choice for your everyday computing needs.
  • 【4GB DDR4 RAM】Get high-bandwidth performance for resource-intensive tasks. Run multiple applications at once and stay responsive.【128GB UFS】 Delivers blazing boot-up speed and enhanced storage capabilities. Effortlessly access your extensive digital library with ease.
  • 【Intel Graphics】Enjoy vibrant colors and sharp details that bring your everyday content to life. 【720p HD Camera】Provides high quality video calls, virtual meetings and online interactions.
  • 【Windows 11 S】Unlock endless possibilities with a user-friendly operating system, tailored to your needs.【Dimensions & Weight】12.76 x 8.86 x 0.71 inches, 3.24 lbs.【Ports】1x USB Type-C, 2x USB Type-A, 1x Headphone/microphone combo, 1x Media card reader, 1x HDMI 1.4b, 1x AC Smart pin. Wi-Fi 6, Bluetooth, Webcam.

A preset is a convenient viewport size, not a complete simulation of a named phone. Cypress documents that devicePixelRatio is not simulated, so a viewport screenshot alone does not establish physical-device rendering, touch behavior, or device-specific browser chrome.

Set a suite-wide default in configuration

For a shared starting size, configure viewportWidth and viewportHeight in Cypress configuration. For a different size during a test, call cy.viewport(); the current documentation says Cypress.config() cannot change those two viewport settings for the running test. See Cypress configuration.

Rank #2
Lavsoul 4K Webcam with Microphone for PC & Streaming Computer Camera
  • ULTRA HD 4K CLARITY: Stand out in every video call with breathtaking 4K video at 30fps or smooth 1080p at 60fps. Powered by a premium 1/2.5" CMOS sensor and a wide f/1.78 aperture, this webcam captures every detail with vibrant color and stunning low-light performance-so you always look your best
  • FAST AUTOFOCUS & SMART LIGHT CORRECTION: No more blurry moments with this webcam for PC. Advanced Phase Detection Auto Focus (PDAF) locks onto your face instantly and keeps you sharp-even when you move. Built-in light correction adapts to your environment, balancing brightness and contrast for a flawless image in dim rooms or bright spaces
  • DUAL NOISE-CANCELING MICS: Speak with confidence using this webcam with microphones. Dual microphones with intelligent noise-canceling tech isolate your voice and reduce background noise-suitable for webinars, live streams, team meetings, and virtual interviews
  • WIDE-ANGLE LENS & FLEXIBLE MOUNTING OPTIONS: Capture more of your world with an 80 field of view and full 360 swivel rotation. Whether this streaming webcam is mounted on a laptop, monitor, or tripod, it allows you to find the right angle for any setup
  • BUILT-IN PRIVACY COVER & PLUG-AND-PLAY SIMPLICITY: Protect your privacy with a secure sliding lens cover that blocks the camera when not in use. Setup is a breeze-just plug into any USB-A port and start streaming, chatting, or recording instantly. The USB webcam is compatible with Zoom, Microsoft Teams, Skype, OBS Studio, and all major platforms across Windows, macOS, and Linux

Choose the right screenshot capture mode

cy.screenshot() defaults to capture: 'fullPage'. Cypress scrolls and stitches the page from top to bottom, which can make fixed or sticky elements appear more than once. For a responsive image representing only the current visible area, specify { capture: 'viewport' }. The runner mode includes the Cypress Command Log; failure screenshots are coerced to runner capture behavior. Details are in the Cypress screenshot API.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Use capture: 'viewport' when comparing or reviewing one responsive viewport at a time.
  • Use the default full-page mode when the whole page is the subject, while accounting for stitching behavior.
  • Use clip: { x, y, width, height } to crop a capture.
  • Use blackout selectors to hide sensitive elements in application captures.

Cypress disables timers and CSS animations by default during capture. The screenshot API also offers callbacks before and after capture for controlled DOM changes and saved-image metadata.

Make screenshots repeatable and meaningful

  1. Choose widths from your layout. Cover the transitions defined by your CSS; test immediately on either side of an important breakpoint when that distinction matters. There is no universal Cypress breakpoint list.
  2. Set dimensions explicitly. Set them in each test or test setup. Cypress controls the application viewport, while its preview pane may scale the app to fit the host display.
  3. Visit the route and wait for meaningful state. Prefer an assertion or application signal over an arbitrary delay. Screenshot capture is asynchronous, so the application can change between the command and the saved image.
  4. Assert the responsive outcome. Verify the intended layout—for example, a grid’s column count or the presence of a mobile menu—before capturing. The screenshot records the result; the assertion documents the expected behavior.
  5. Control sources of visual change. Keep test data and time-dependent content consistent and wait for the page to stabilize. Cypress’s visual-testing guidance discusses controlling rendering environments, content, and timing.

Disabling timers and CSS animations helps, but does not make changing backend data or application state deterministic. Stabilize those inputs separately.

Rank #3
Dell Latitude 5410 14-Inch 1920 x 1080 FHD Laptop, Core i5-10210U, 32GB DDR4 RAM, 1TB M.2 NVMe SSD, Thunderbolt, HDMI, Windows 11 Pro, Webcam, Business Laptop (Renewed)
  • This Certified Refurbished product is tested and certified to look and work like new. The refurbishing process includes functionality testing, basic cleaning, inspection, and repackaging. The product ships with all relevant accessories, a minimum 90-day warranty, and may arrive in a generic box. Only select sellers who maintain a high performance bar may offer 1Certified Refurbished products on Amazon.com.
  • Powerful 10th Gen Intel Core i5: Features a quad-core i5-10210U processor (up to 4.2GHz Turbo Boost) for smooth multitasking and business productivity.
  • High-Speed Memory & Storage: 32GB DDR4 RAM ensures seamless performance, while the 1TB M.2 NVMe SSD provides ultra-fast boot-up and file access.
  • Stunning 15.6-inch FHD Display: Enjoy crisp visuals with 1920x1080 resolution.
  • Enhanced Connectivity: Features Wi-Fi, Bluetooth, Type-C, HDMI, and Thunderbolt for versatile connectivity options.

Find and manage the screenshot files

The default screenshot directory is cypress/screenshots; change it with screenshotsFolder in Cypress configuration. In cypress run, Cypress captures test failures by default. It also clears asset folders before a run unless trashAssetsBeforeRuns is disabled, so do not assume artifacts from an earlier run will still be present. Failure screenshots are captured in run mode, not automatically in cypress open.

Know what Cypress screenshots do—and do not—prove

A Cypress screenshot is a capture, not an image comparison. Cypress’s official guide states, “Cypress does not perform image comparison itself.” For baselines, diffs, or review workflows, use a visual-testing integration. Cypress’s visual testing guide describes options including Percy, LambdaTest SmartUI, Sauce Labs Visual, Chromatic, and Happo. Evaluate them by browser and viewport support, where rendering and diffs run, baseline and approval management, CI workflow, and whether your team needs hosted review.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
10.1 Inch Mini Netbook, Quad-Core Processor Laptop Computer, 2GB Memory 64GB Storage Android 12 Portable Notebook Built-in Webcam, WiFi & Bluetooth Keyboard & Mouse for Home Schooling & Office Work
  • 【Efficient Quad-Core Performance】 Powered by a 1.8GHz Quad-Core processor, this mini laptop ensures smooth multitasking. With 2GB RAM and 64GB ROM (expandable to 1TB), it handles daily work and online tasks with ease.
  • 【10.1" HD IPS Display & GMS Support】 Featuring a 1280x800 HD IPS screen, this cheap laptop delivers vibrant visuals. Pre-installed with Android OS and GMS, you get direct access to the Google Play Store for apps.
  • 【Ultra-Portable & Lightweight Design】 Weighing only 1.76 lbs, this Blue computer is designed for mobility. Its compact form makes it an ideal companion for students and professionals for home schooling or trips.
  • 【Versatile Connectivity Options】 Stay productive with dual USB 2.0 ports, a headphone jack, and a TF card slot. This computer for kids and adults features built-in Wi-Fi and Bluetooth for stable connections.
  • 【Complete All-in-One Bundle】 This kid laptop kit includes the laptop, carrying bag, mouse, mouse pad, and power adapter. It is the perfect ready-to-use set for online classes, remote work, and entertainment.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshooting responsive screenshot tests

  • The image has the wrong dimensions: Set cy.viewport(width, height) in the test or use the configuration defaults. Remember that the preview pane can scale how the application appears on screen.
  • The image contains the whole page instead of one screen: Set { capture: 'viewport' }; full-page capture is the default.
  • Sticky or fixed content appears more than once: This can happen when full-page capture scrolls and stitches. Capture the viewport instead if a single-screen image meets the test need.
  • The screenshot shows a transient layout or stale content: Wait on a meaningful selector or application signal and assert the target state before capture. Control variable data and time-dependent content; capture itself is asynchronous.
  • Old screenshots disappear after a run: Cypress clears asset folders before a run by default. Review trashAssetsBeforeRuns if your workflow requires preserving existing assets.
  • A failure screenshot looks different from a manual capture: Cypress uses runner capture behavior for failures. Also, automatic failure screenshots are associated with cypress run, not cypress open.
  • A viewport screenshot does not match a real phone: Viewport dimensions do not simulate devicePixelRatio or all physical-device behavior.
  • You need a visual regression diff: cy.screenshot() does not compare images. Add a visual-testing integration that fits your browser, baseline, approval, and CI requirements.

Or skip the browser setup

If you need a screenshot without writing a Cypress test, ScreenshotNeo returns a screenshot or PDF from one GET request. Its API accepts familiar screenshot parameter names, which can make switching easier. See the ScreenshotNeo API documentation.

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

ScreenshotNeo accepts cookie and 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, blank pages, timeouts, failed loads, and cache hits cost nothing, and the response identifies the page verdict and billing status in headers. Its MCP server includes take_screenshot, get_page_info, and capture_pdf for AI agents. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots.

Sign up for ScreenshotNeo’s free plan: 1,000 screenshots a month, no card required.

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.

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

Leave a Reply

Your email address will not be published. Required fields are marked *

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

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.