Yes, you can use Playwright with testing frameworks like Jest. Playwright is a Node.js library to automate Chromium, Firefox and WebKit with a single API, and Jest is a delightful JavaScript Testing Framework with a focus on simplicity. The combination of Playwright and Jest can equip you with a powerful tool for end-to-end testing.
Here's how you can set it up:
First, install jest, jest-playwright-preset, playwright and jest-playwright to get started.
npm install -D jest jest-playwright-preset playwright jest-playwright
Next, you should configure Jest to use the jest-playwright-preset
. This configuration can be achieved by creating a jest.config.js
file in your project root.
module.exports = {
preset: "jest-playwright-preset"
}
The jest-playwright-preset
will handle the setup and teardown of the browser context for Playwright.
You can write tests in Jest as you normally would, with the added bonus of Playwright's API for browser automation. Here is a simple example of a Jest test using Playwright:
describe('Google', () => {
beforeAll(async () => {
await page.goto('https://google.com')
})
it('should display "Google" text on page', async () => {
await expect(page).toHaveText('Google')
})
})
In the above example, page
is a global created by jest-playwright-preset
which refers to the page that Playwright is controlling.
Finally, you can run your tests using Jest from the command line:
npx jest
This will run Jest, which will find and run files located in a __tests__
folder or ending with .spec.js
or .test.js
.
Remember to always keep your versions of playwright
, jest-playwright-preset
and jest-playwright
in sync to avoid compatibility issues.