Last updated 2025-06-12.
- Prerequisites
- Enable WebKit in cypress.config.js
- Install the Playwright WebKit Engine
- Launch & Verify
- Known Limitations
You already have a working local Cypress environment (VSCode or another IDE) and can run normal Chromium/Firefox tests.
Open cypress.config.js and turn on the experimentalWebKitSupport flag in the e2e section of the file:
const { defineConfig } = require('cypress');
module.exports = defineConfig({
e2e: {
setupNodeEvents(on, config) {
// implement node event listeners here
},
/* ─── ADD THIS LINE ─── */
experimentalWebKitSupport: true,
},
});Cypress delegates WebKit automation to the Playwright runner.
npm install --save-dev playwright-webkit- Run
npm run cypress. - Choose “End-to-End Testing”.
- In the browser list you should now see WebKit alongside Chrome/Firefox/Electron.
If WebKit is missing, re-check:
– the experimentalWebKitSupport flag,
– that node_modules/playwright-webkit exists, and
The experimental driver is NOT feature-complete. Plan tests accordingly.
• cy.origin() – unsupported
• cy.intercept({ forceNetworkError }) – ignored
• experimentalSingleTabRunMode + video – records only first spec
• cy.type() differences
– textInput events lack data
– beforeinput events lack inputType
– Up/Down arrow on <input type="number"> does not step
• Stack traces may omit function names / locations
Check this github issue page for a complete list of bugs: Issues