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 desk4 min

How to Run Cypress Tests in WebKit

Run Cypress tests with WebKit by enabling experimental support, installing playwright-webkit, and selecting the browser with the CLI. Learn Linux, CI and feature limitations.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Cypress can run tests in WebKit, Safari’s browser engine, using an experimental feature. Enable experimentalWebKitSupport, install playwright-webkit, install the required system dependencies on Linux, then run Cypress with --browser webkit. This runs WebKit—not Apple Safari—and some Cypress features are unsupported or behave differently.

Enable WebKit support in Cypress

WebKit support is experimental and disabled by default. In the Cypress configuration file your project already uses, add experimentalWebKitSupport: true to the existing configuration. Do not replace other project settings.

As an Amazon Associate I earn from qualifying purchases.

const { defineConfig } = require('cypress')

module.exports = defineConfig({
  experimentalWebKitSupport: true,
})

If your configuration already has options, include the flag alongside them:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
const { defineConfig } = require('cypress')

module.exports = defineConfig({
  e2e: {
    // Keep your existing e2e settings here.
  },
  experimentalWebKitSupport: true,
})

Use the configuration format and filename already established in your project. Cypress documents the flag and its default in its experiments reference.

Install WebKit and run the tests

  1. From the project root, install the WebKit package as a development dependency:

    npm install playwright-webkit --save-dev

    Cypress should already be installed in the project. Cypress’s WebKit guide describes the experiment as using Playwright WebKit.

  2. On Linux, install WebKit’s system dependencies:

    npx playwright install-deps webkit

    This does not replace Cypress’s own Linux system prerequisites. Follow Cypress’s installation requirements for your Linux distribution and environment.

    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.
  3. Run your suite with WebKit selected:

    npx cypress run --browser webkit

The selected browser must be installed in the local or CI environment. For interactive use, run npx cypress open and choose WebKit from the browser selector once Cypress detects it. To record a run to Cypress Cloud, Cypress also documents npx cypress run --browser webkit --record; use that only when the recording workflow is intended and configured.

Run WebKit tests in CI

Set up CI with the same ingredients as a local run: the project dependencies, playwright-webkit, the operating-system dependencies required for WebKit on Linux, and Cypress’s own prerequisites. Then invoke Cypress with --browser webkit. The browser must be available in the CI environment; installing only the Cypress package does not select or provide WebKit.

Because this is experimental support, confirm that your chosen Cypress, Node.js, operating-system and package versions work together against the live requirements for your environment. The documentation reviewed does not establish a complete compatibility matrix or specific version pins.

Know what WebKit coverage does—and does not—mean

Cypress describes WebKit as Safari’s browser engine, and its experimental integration can help exercise WebKit behavior on Windows, Linux or CI environments where Apple Safari automation is not available. It does not run Apple Safari itself, so treat the result as WebKit coverage rather than proof of identical behavior in Safari.

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

Cypress lists these limitations and differences for experimental WebKit support:

  • cy.origin() is not supported.
  • Test Replay is not supported.
  • cy.intercept() with the forceNetworkError option is disabled.
  • Some cy.type() event properties and arrow-key behavior differ.
  • When experimentalSingleTabRunMode is enabled with video recording, only the first spec’s video is recorded.
  • Stack traces may omit function names or location information.

The Cypress configuration reference also says injectDocumentDomain must be true when using experimental WebKit because cy.origin() is unsupported. This setting has compatibility caveats. If your tests cross subdomains, review the current configuration documentation and test your application rather than assuming the setting is a transparent workaround. See Cypress’s configuration and experiment guidance alongside its configuration reference.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshoot common setup failures

  • Cypress does not offer WebKit: Confirm experimentalWebKitSupport: true is in the active Cypress configuration, and that playwright-webkit is installed in the project. Restart the Cypress process after changing configuration or dependencies.
  • WebKit fails to launch on Linux: Run npx playwright install-deps webkit and separately satisfy Cypress’s Linux prerequisites for your distribution. The WebKit dependency command does not install all Cypress system requirements.
  • The suite works locally but not in CI: Make sure CI installs the browser package and required OS dependencies, and invoke npx cypress run --browser webkit. Check the runner’s operating-system requirements as well as the project package installation.
  • A test fails only under WebKit: Check whether it relies on an unsupported feature or a documented behavioral difference, especially cy.origin(), forced network errors, or particular typing events. Do not treat a WebKit-only failure as evidence that the application is necessarily broken in every browser.
  • Cross-subdomain behavior changes: Review the current injectDocumentDomain configuration guidance and validate the behavior your application needs; enabling the setting is not guaranteed to be a neutral fix.

Or skip the browser setup

If your goal is to capture a page image or PDF rather than run browser tests, ScreenshotNeo provides a screenshot API and MCP server. A single request can return a screenshot or PDF; its response identifies page verdict and billing status. It is not a Cypress or WebKit test runner.

Example cURL request for a screenshot:

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 setup and request options. It removes cookie banners, newsletter popups and chat widgets before capture; bot checks, blank pages and failed loads are not billed; and its MCP server lets AI agents take screenshots. The free plan includes 1,000 shots per month with no card, and paid plans start at $5 for 3,000 shots. Sign up for 1,000 free screenshots a month, with no card required.

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

Frequently Asked Questions

Does Cypress WebKit run Apple Safari?

No. It runs WebKit, Safari’s browser engine, not Apple Safari itself.

Can I use Cypress WebKit in a recorded Cypress Cloud run?

Cypress documents the --record option with WebKit; use it when your Cypress Cloud recording workflow is configured.

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.

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
PC Slower Than It Used to Be?Free scan - under a minute
Crashes, No Sound, or Screen Glitches?Free driver scan

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.