Puppetry is an open-source cross-platform desktop application that gives non-developers the ability to create, manage, and integrate automated tests for Web
- 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 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:
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
- export the project as Jest/Puppeteer bundle ready to run in CLI (e.g. by a continuous integration server)
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)
- 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 (
master
branch) - implement new features (
dev
branch)
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
A special thanks to Monika Rao, vteixeira19, Gernot Messow, Carlos Mantilla, kkmuffme, Ravindra Jadhav for the ideas and support
MIT