Playwright, unchanged
Swap the import of playwright or @playwright/test for @povio/lightning-panda/playwright. Your tests, config, fixtures and expect calls keep working, and Playwright itself is no longer a dependency.
Migrate a suite
A Rust browser on JavaScriptCore. Run your Playwright suite unchanged, write E2E tests that finish in milliseconds, or drive signed-in scrapers from stored profiles.
| Test style | Per test | Against |
|---|---|---|
Native page.run([...]) on a pre-booted page | ~3 ms | ~34 ms in Playwright |
Playwright code through @povio/lightning-panda/playwright | 14.7 ms | 41–44 ms for stock Playwright on the same browser |
| A fresh fork-mode connection with the app already booted | ~20 ms | however long your app takes to boot |
Numbers come from the TOS "close a position" flow in this repository's benchmarks (median of 40 runs, fresh page per test). See Performance for the method and for what makes your own suite faster.
bun add --dev @povio/lightning-panda # or: npm install --save-dev @povio/lightning-panda
bunx lightningpanda serve --port 9222 # a CDP server any client can connect to