252 lines
12 KiB
HTML
252 lines
12 KiB
HTML
<h1 id="awesome-playwright-awesome">Awesome Playwright <a
|
||
href="https://awesome.re"><img src="https://awesome.re/badge.svg"
|
||
alt="Awesome" /></a></h1>
|
||
<blockquote>
|
||
<p>A curated list of awesome tools, utils and projects using
|
||
Playwright</p>
|
||
</blockquote>
|
||
<p><a href="https://github.com/microsoft/playwright">Playwright</a> is a
|
||
Node.js library to automate Firefox, WebKit and Chromium based browsers
|
||
via a single API.</p>
|
||
<h2 id="contents">Contents</h2>
|
||
<ul>
|
||
<li><a href="#integrations">Integrations</a></li>
|
||
<li><a href="#language-support">Language Support</a></li>
|
||
<li><a href="#utils">Utils</a></li>
|
||
<li><a href="#reporters">Reporters</a></li>
|
||
<li><a href="#showcases">Showcases</a></li>
|
||
<li><a href="#guides">Guides</a></li>
|
||
<li><a href="#contribute">Contribute</a></li>
|
||
</ul>
|
||
<h2 id="integrations">Integrations</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/playwright-community/jest-playwright/">jest-playwright</a>
|
||
- Jest adapter for running Playwright.</li>
|
||
<li><a href="https://github.com/Codeception/CodeceptJS">CodeceptJS</a> -
|
||
Supercharged End 2 End Testing Framework for Node.js.</li>
|
||
<li><a
|
||
href="https://github.com/Sparticuz/chromium?tab=readme-ov-file#usage-with-playwright">Chromium
|
||
for Serverless platforms</a> - Chromium for Serverless platforms.</li>
|
||
<li><a
|
||
href="https://github.com/AndrewUsher/playwright-chrome-recorder">playwright-chrome-recorder</a>
|
||
- Export Playwright tests from Google Chrome DevTools’ recordings
|
||
programmatically.</li>
|
||
<li><a
|
||
href="https://github.com/AndrewUsher/playwright-recorder-extension">Playwright
|
||
Chrome Recorder Extension</a> - Export DevTools Recordings as Playwright
|
||
Tests directly from the DevTools Recorder Panel.</li>
|
||
<li><a
|
||
href="https://github.com/microsoft/playwright-github-action">playwright-github-action</a>
|
||
- GitHub Action to install all the required dependencies.</li>
|
||
<li><a
|
||
href="https://github.com/microsoft/playwright-pytest/">playwright-pytest</a>
|
||
- Official Pytest plugin for using Playwright pages with fixtures.</li>
|
||
<li><a
|
||
href="https://github.com/mxschmitt/heroku-playwright-buildpack">heroku-playwright-buildpack</a>
|
||
- Heroku buildpack for running Playwright on a Heroku Dyno.</li>
|
||
<li><a
|
||
href="https://github.com/dequelabs/axe-core-npm/blob/develop/packages/playwright/README.md"><span
|
||
class="citation"
|
||
data-cites="axe-core/playwright">@axe-core/playwright</span></a> -
|
||
Official Axe integration with Playwright.</li>
|
||
<li><a
|
||
href="https://github.com/abhinaba-ghosh/axe-playwright">axe-playwright</a>
|
||
- Inofficial integration of Axe with Playwright.</li>
|
||
<li><a
|
||
href="https://github.com/Widen/expect-axe-playwright">expect-axe-playwright</a>
|
||
- Expect matchers to perform Axe accessibility tests in your Playwright
|
||
tests.</li>
|
||
<li><a
|
||
href="https://github.com/Tallyb/cucumber-playwright">cucumber-playwright</a>
|
||
- A starter repo for writing E2E tests based on Cucumber with Playwright
|
||
using Typescript.</li>
|
||
<li><a
|
||
href="https://github.com/artilleryio/artillery/tree/main/packages/artillery-engine-playwright">artillery-engine-playwright</a>
|
||
- Load testing with Playwright.</li>
|
||
<li><a
|
||
href="https://github.com/vitalets/playwright-bdd">playwright-bdd</a> -
|
||
BDD testing with Playwright runner and CucumberJS.</li>
|
||
<li><a href="https://serenity-js.org">Serenity/JS</a> - Acceptance
|
||
testing, reporting, and test integration framework for Playwright,
|
||
implementing the <a
|
||
href="https://serenity-js.org/handbook/design/screenplay-pattern/">Screenplay
|
||
Pattern</a>.</li>
|
||
<li><a href="https://github.com/guidepup/guidepup-playwright"><span
|
||
class="citation"
|
||
data-cites="guidepup/playwright">@guidepup/playwright</span></a> -
|
||
VoiceOver and NVDA screen reader driver integration for Playwright.</li>
|
||
</ul>
|
||
<h2 id="language-support">Language Support</h2>
|
||
<ul>
|
||
<li><a href="https://git.io/JT2bj">playwright</a> - Official Playwright
|
||
in Node.js (JavaScript and TypeScript).</li>
|
||
<li><a
|
||
href="https://github.com/microsoft/playwright-python">playwright-python</a>
|
||
- Official Playwright port to Python.</li>
|
||
<li><a
|
||
href="https://github.com/microsoft/playwright-dotnet">playwright-dotnet</a>
|
||
- Official Playwright port to .NET.</li>
|
||
<li><a
|
||
href="https://github.com/microsoft/playwright-java">playwright-java</a>
|
||
- Official Playwright port to Java.</li>
|
||
<li><a
|
||
href="https://github.com/playwright-community/playwright-go">playwright-go</a>
|
||
- Playwright port for Golang.</li>
|
||
<li><a
|
||
href="https://github.com/YusukeIwaki/playwright-ruby-client">playwright-ruby-client</a>
|
||
- Playwright port for Ruby.</li>
|
||
<li><a href="https://github.com/naqvis/playwright-cr">playwright-cr</a>
|
||
- Playwright port for Crystal.</li>
|
||
<li><a
|
||
href="https://github.com/octaltree/playwright-rust">playwright-rust</a>
|
||
- Playwright port for Rust.</li>
|
||
<li><a
|
||
href="https://github.com/teodesian/playwright-perl">playwright-perl</a>
|
||
- Playwright port for Perl.</li>
|
||
</ul>
|
||
<h2 id="utils">Utils</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/OctoMind-dev">automated-Playwright-UI-tests</a>
|
||
- Auto-generated, run & maintained with AI-assisted test case
|
||
discovery.</li>
|
||
<li><a href="https://ray.run/ask">Ask Playwright</a> - Accurate answers
|
||
to Playwright questions provided by LLM trained on the latest Playwright
|
||
documentation.</li>
|
||
<li><a href="https://try.playwright.tech">Try Playwright</a> -
|
||
Interactive playground for running Playwright tests.</li>
|
||
<li><a
|
||
href="https://github.com/hdorgeval/playwright-fluent">playwright-fluent</a>
|
||
- Fluent API Wrapper around Playwright.</li>
|
||
<li><a href="https://testingbot.com">TestingBot</a> - Connect your
|
||
Playwright tests with browsers in the Cloud.</li>
|
||
<li><a
|
||
href="https://github.com/playwright-community/expect-playwright">expect-playwright</a>
|
||
- Expect utility matcher functions to simplify expect statements for the
|
||
usage with Playwright Test or Jest Playwright.</li>
|
||
<li><a
|
||
href="https://github.com/playwright-community/eslint-plugin-playwright">eslint-plugin-playwright</a>
|
||
- ESLint plugin for your Playwright testing needs.</li>
|
||
<li><a href="https://github.com/aerokube/moon">Moon</a> - Tools for
|
||
executing Playwright tests in parallel in a Kubernetes cluster.</li>
|
||
<li><a
|
||
href="https://github.com/anishkny/playwright-test-coverage">playwright-test-coverage</a>
|
||
- Plugin to collect code coverage from running Playwright tests.</li>
|
||
<li><a
|
||
href="https://marketplace.visualstudio.com/items?itemName=ms-playwright.playwright">Playwright
|
||
Test for VSCode</a> - Official Playwright test extension for VS
|
||
Code.</li>
|
||
<li><a href="https://plugins.jetbrains.com/plugin/18100-maestro">Maestro
|
||
for IntelliJ</a> - Playwright plugin for IntelliJ.</li>
|
||
<li><a
|
||
href="https://danteukraine.github.io/playwright-elements">playwright-elements</a>
|
||
- Playwright test extension for creatation of reusable components with
|
||
ability to add child elements, methods and call them in chain. Reduce
|
||
amount of your code in page object, or even use elements without page
|
||
object.</li>
|
||
<li><a
|
||
href="https://www.npmjs.com/package/playwright-cleanup">Playwright-cleanup</a>
|
||
- A Playwright cleanup tool that simplifies test cleanup by undoing any
|
||
changes to the testing environment.</li>
|
||
<li><a
|
||
href="https://www.npmjs.com/package/playwright-performance">Playwright-performance</a>
|
||
- A plugin that helps you optimize the speed and efficiency of web
|
||
applications by measuring and analyzing the performance of ANY tested
|
||
flow using Playwright.</li>
|
||
<li><a
|
||
href="https://github.com/Mattwmaster58/playwright-python-language-injection">playwright-python-language-injection</a>
|
||
- Language injection definitions for CSS/JS syntax highlighting when
|
||
using <code>python-playwright</code> in PyCharm.</li>
|
||
<li><a
|
||
href="https://github.com/detachhead/playwright-ui5">playwright-ui5</a> -
|
||
Custom selector engine for sapui5.</li>
|
||
<li><a
|
||
href="https://github.com/detachhead/playwright-xpath">playwright-xpath</a>
|
||
- Custom selector engine for xpath 2 and 3.</li>
|
||
<li><a href="https://github.com/zerostep-ai/zerostep">ZeroStep</a> - AI
|
||
actions and assertions for Playwright.</li>
|
||
<li><a href="https://github.com/DyHex/POMWright">POMWright</a> -
|
||
POMWright is a TypeScript-based framework designed for creating and
|
||
maintaining Page Object Models. It streamlines locator management by
|
||
automatically generating nested/chained locators from flat and atomic
|
||
locator structures which can be dynamically updated throughout tests.
|
||
This significantly reduces code duplication and makes tests easier to
|
||
read, write, and maintain.</li>
|
||
</ul>
|
||
<h2 id="reporters">Reporters</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/tesults/playwright-tesults-reporter">playwright-tesults-reporter</a>
|
||
- A library for uploading test results to Tesults from Playwright.</li>
|
||
<li><a
|
||
href="https://github.com/cenfun/monocart-reporter">monocart-reporter</a>
|
||
- A playwright test reporter, shows suites/cases/steps in html
|
||
grid.</li>
|
||
<li><a
|
||
href="https://github.com/allure-framework/allure-js/tree/master/packages/allure-playwright">allure-playwright</a>
|
||
- Allure integration with Playwright Test framework.</li>
|
||
<li><a
|
||
href="https://github.com/inluxc/playwright-xray">playwright-xray</a> -
|
||
Playwright Xray Reporter, send test executions to Jira / Xray.</li>
|
||
<li><a
|
||
href="https://github.com/testomatio/reporter">testomatio-reporter</a> -
|
||
Runs and sends test executions to the TCMS testomatio, Jira / Linear /
|
||
Azure DevOps task management.</li>
|
||
<li><a href="https://currents.dev/">currents-dev</a> - A Cloud Dashboard
|
||
to debug, troubleshoot and analyze parallel Playwright CI tests.</li>
|
||
<li><a
|
||
href="https://github.com/qase-tms/qase-javascript/tree/master/qase-playwright">qase</a>
|
||
- Playwright Qase Reporter, send test executions to <a
|
||
href="https://qase.io/">qase</a>.</li>
|
||
<li><a href="https://github.com/mrasu/echoed">echoed</a> - Makes tests
|
||
observable by visualizing OpenTelemetry data in HTML.</li>
|
||
</ul>
|
||
<h2 id="showcases">Showcases</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/MarcusFelling/Demo.Playwright">Demo.Playwright</a>
|
||
- Various testing scenarios with Playwright, using the official
|
||
test-runner and scripts authored in TypeScript.</li>
|
||
<li><a
|
||
href="https://github.com/playwright-community/playwright-jest-examples">playwright-jest-examples</a>
|
||
- Examples of the Jest Playwright tools in combination to test popular
|
||
sites.</li>
|
||
<li><a href="https://github.com/microsoft/vscode">VS Code</a> -
|
||
Playwright is used to run cross-browser tests on their web builds.</li>
|
||
<li><a href="https://github.com/microsoft/TypeScript">TypeScript</a> -
|
||
Playwright is used test typescript.js across browsers.</li>
|
||
<li><a href="https://github.com/elastic/apm-agent-rum-js">Elastic APM JS
|
||
agent</a> - Playwright is used to run benchmark tests across
|
||
browsers.</li>
|
||
<li><a href="https://github.com/blockstack/ux">Blockstack</a> -
|
||
Playwright is used to run cross-browser UI tests.</li>
|
||
<li><a href="https://github.com/xtermjs/xterm.js">xterm.js</a> -
|
||
Playwright is used to run cross-browser integration tests.</li>
|
||
<li><a
|
||
href="https://github.com/mxschmitt/heroku-playwright-example">Heroku
|
||
Playwright Example</a> - Example using Playwright on Heroku.</li>
|
||
<li><a href="https://github.com/burakkantarci/playwright-todo-app">Todo
|
||
App with Playwright</a> - Comprehensive Todo app with APIs, E2E tests
|
||
with GitHub Actions enabled.</li>
|
||
</ul>
|
||
<h2 id="guides">Guides</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://www.checklyhq.com/learn/headless/">theheadless.dev</a> -
|
||
Practical guides and runnable examples on Playwright (and
|
||
Puppeteer).</li>
|
||
<li><a
|
||
href="https://playwrightsolutions.com">playwrightsolutions.com</a> -
|
||
Curated Selection of Playwright Automated Test Problems and
|
||
Solutions.</li>
|
||
<li><a
|
||
href="https://serenity-js.org/handbook/web-testing/your-first-web-scenario/">serenity-js.org</a>
|
||
- Learn how to write acceptance tests in business language using
|
||
Playwright and the Serenity/JS Screenplay Pattern.</li>
|
||
</ul>
|
||
<h2 id="contribute">Contribute</h2>
|
||
<p>Contributions welcome! Read the <a
|
||
href="https://github.com/mxschmitt/awesome-playwright/blob/master/CONTRIBUTING.md">contribution
|
||
guidelines</a> first.</p>
|