Playwright for Browser Rendering now available
We're excited to share that you can now use Playwright's browser automation capabilities ↗ from Cloudflare Workers.
Playwright ↗ is an open-source package developed by Microsoft that can do browser automation tasks; it's commonly used to write software tests, debug applications, create screenshots, and crawl pages. Like Puppeteer, we forked ↗ Playwright and modified it to be compatible with Cloudflare Workers and Browser Rendering ↗.
Below is an example of how to use Playwright with Browser Rendering to test a TODO application using assertions:
import { launch, type BrowserWorker } from '@cloudflare/playwright';import { expect } from '@cloudflare/playwright/test';
interface Env {  MYBROWSER: BrowserWorker;}
export default {  async fetch(request: Request, env: Env) {
    const browser = await launch(env.MYBROWSER);    const page = await browser.newPage();
    await page.goto('https://demo.playwright.dev/todomvc');
    const TODO_ITEMS = [        'buy some cheese',        'feed the cat',        'book a doctors appointment'    ];
    const newTodo = page.getByPlaceholder('What needs to be done?');    for (const item of TODO_ITEMS) {        await newTodo.fill(item);        await newTodo.press('Enter');    }
    await expect(page.getByTestId('todo-title')).toHaveCount(TODO_ITEMS.length);
    await Promise.all(TODO_ITEMS.map(        (value, index) => expect(page.getByTestId('todo-title').nth(index)).toHaveText(value)    ));  },};Playwright is available as an npm package at @cloudflare/playwright ↗ and the code is at GitHub ↗.
Learn more in our documentation.
Was this helpful?
- Resources
- API
- New to Cloudflare?
- Products
- Sponsorships
- Open Source
- Support
- Help Center
- System Status
- Compliance
- GDPR
- Company
- cloudflare.com
- Our team
- Careers
- 2025 Cloudflare, Inc.
- Privacy Policy
- Terms of Use
- Report Security Issues
- Trademark