testing-library / pptr-testing-library

puppeteer + dom-testing-library = 💖
MIT License
287 stars 29 forks source link

Proposal: event wrapper #75

Open goodoldneon opened 2 years ago

goodoldneon commented 2 years ago

What's the feasibility for creating an event wrapper that mimics the user-event API? Not something that actually uses user-event, but rather makes Puppeteer event code look like user-event code.

For example, instead of this:

await page.keyboard.type("Gordon")
await page.keyboard.press("Tab")
await page.keyboard.type("Freeman")

You'd do something like this:

const user = userEvent.setup(page)
await user.keyboard("Gordon")
await user.tab()
await user.keyboard("Freeman")

It seems straightforward, but are there dragons I'm missing?

indifferentghost commented 1 year ago

Did you ever do any further research behind that?

BudgieInWA commented 1 year ago

This sounds like a great addition. I would love to use the same API for my React unit tests and Puppeteer driven e2e tests.