Le Souffleur
Playwright has really good codegen tool,
but you are stuck with Puppeteer. Then this library is what you need as it
allows to take code generated by Playwright's codegen
and use it in Puppeteer
with minimal changes.
This is very early version that might be improved in the future. Here some ideas:
Installation
npm:
npm install -D lesouffleur
yarn:
yarn add -D lesouffleur
Usage
import { LeSouffleur } from 'lesouffleur';
const driver = new LeSouffleur(page);
await driver.getByTestId('some-test-id').click();
await driver.getByRole('button', { name: 'Increment' }).click();
await driver.getByText('Approve').click();
Development
Since we are working on abstraction of Puppeteer here (no real Puppeteer types)
make sure to write tests and, please, test with real product as well.
You can use dev version by linking it. E.g. using yarn you can do something
like this:
yarn add lesouffleur@portal:./../../../lesouffleur
The goal is to make Puppeteer act like Playwright as much as possible thus try
to mimic Playwright behaviour, e.g. read how actions work here:
https://playwright.dev/docs/actionability
Misc
As both Playwright and Puppeteer is theatre related I simply chose name related
to theatre as well. See this Wikipedia article:
Prompter