Skip to content

dsheiko/puppetry

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Puppetry
Puppetry

⚠️ 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

Build Status Gitter chat Total downloads Latest download

CODELESS END-TO-END AUTOMATED TESTING

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.

Puppetry - codeless end-to-end test automation, integrated with CI/CD pipeline

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

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
  • examine the Backlog, suggest new features
  • look into existing Issues, come up with a fix (master branch)
  • implement new features (dev branch)
  • 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