Skip to content

Compatibility layer for playwright to run cypress e2e test cases

License

Notifications You must be signed in to change notification settings

Solant/playwright-cypress-adapter

Repository files navigation

playwright-cypress-adapter

Playwright compatibility layer to run cypress test cases without rewrites and modifications.

Usage

Install module with you favorite package manager

# pnpm
pnpm add -D playwright-cypress-adapter

# npm
npm install -D playwright-test-adapter

# yarn
yarn add -D playwright-test-adapter

Change playwright config to use cypress test cases

// playwright.config.ts
import { defineConfig } from '@playwright/test';

export default defineConfig({
  // ...
  testMatch: /.*cy.js/,
});

Prepend your cypress test cases with

// my-test-case.cy.js
import { setup } from 'playwright-cypress-adapter';

setup();

And now you can run your tests with playwright. Check project playwright.config.ts and package.json scripts to see additional configurations.

FAQ

What commands are supported?

Currently, adapter can successfully translate basic todo.cy.js test case into playwright test runner. This might be enough for simple projects, but I highly doubt so. If you find this project useful, make sure to star it and provide the feedback on what cypress actions are needed for your use cases.

Can I still run modified test cases in cypress?

Yes, project uses conditional exports to provide mocked module for cypress that doesn't modify any globals.

Are there any compatibility issues?

Yes, some APIs with similar names are very different between cypress and playwright. See compatibility notes.

Are you copying cypress source code?

No cypress source code is copied. But for the testing purposes project uses cypress basic examples.

About

Compatibility layer for playwright to run cypress e2e test cases

Resources

License

Stars

Watchers

Forks

Packages

No packages published