Puppetry
Web testing solution for non-developers on top of Puppeteer and Jest
Install / Use
/learn @dsheiko/PuppetryREADME
⚠️ Project Deprecated
After observing the market for many years since the last update, I’ve decided to officially deprecate Puppetry.
Over time, it became clear that Playwright has evolved to cover almost everything I originally aimed to achieve with this project — and they do it much better. The idea of codeless end-to-end testing, while exciting at the time, has proven to be a technological dead end.
Today, with the rise of AI-assisted development, it’s possible to create robust end-to-end tests simply by narrating what you want to achieve — something that goes far beyond the original Puppetry vision.
I’m keeping this repository available as an example and a part of the project’s history. Thank you to everyone who supported and used Puppetry over the years.
— Dmitry Sheiko
<img src="https://img.shields.io/badge/slack-puppetry.app-yellow.svg?logo=slack">
Puppetry is a powerful, no-code/low-code test automation tool for end-to-end (E2E) testing of web applications. Built on top of Puppeteer, it provides a user-friendly UI for creating, managing, and running automated browser tests—without writing complex scripts. Designed for developers, QA engineers, and testers, Puppetry simplifies web automation while offering flexibility for advanced users.

- :movie_camera: Recording Automated Tests with Puppetry
- :movie_camera: How to test Responsive Web Design with Puppetry
Welcome Puppetry
Puppetry offers you an easy-to-use UI where you choose browser methods and assertions from a predefined list, with predefined settings, guided by extensive tips. Namely you can do the following:
- record user flow
- declare element targets as pairs
variable = locator, where locator can be either CSS selector or Xpath. - manage your test structure in BDD style (project, suite, test context, test case)
- manage page/element methods and assertions
- run the tests in Chromium/Chromium/Chrome/Firefox/Edge
- export the project as Jest/Puppeteer bundle ready to run in CLI (e.g. by a continuous integration server)
Key Features
- Can be used by QA engineers with no programming background
- Features Headless Chrome (Puppeteer) and Jest
- Tests can run within the application as well as to be exported e.g. for CI-server
- Exporting
- as Jest.js project, ready to plugin in CI/CD pipeline
- as human-readable test specification provided with screenshots per test step.
- Staging, template variables and expressions
- Reusable and configurable test scenarios
- Built-in automation recorder
- Interactive mode, where one can navigate test steps similar to Cypress
- Version control (GIT integration)
- Support Allure test reports
- Support of distinct testing types:
Download
You can download latest installers for your platform from the releases page
Current only the following OS are supported:
- Windows 7 and greater (64 bit)
- Ubuntu 14.04 and greater (64 bit)
- MacOS X 10.10 (Yosemite) and greater (64 bit)
On Linux can be installed with Snapcraft:
sudo snap install puppetry
On Mac can be installed with Homebrew:
brew cask install puppetry
FAQ
Feedback
Contributing
- get acquainted with guides
- the great document about first contributions
- examine the Backlog, suggest new features
- look into existing Issues, come up with a fix (
masterbranch) - implement new features (
devbranch) - check Developer Guide
Please adhere the coding style. We have one based on jQuery's JavaScript Style Guide. You can find the validation rules in .eslintrc
and lint the code by running npm run lint
Thanks
A special thanks to Monika Rao, vteixeira19, Gernot Messow, Carlos Mantilla, kkmuffme, Ravindra Jadhav for the ideas and support
Credits
License
MIT
Related Skills
node-connect
340.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
340.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.2kCommit, push, and open a PR
