End-to-end testing of a web application is mostly about locating a target (page or DOM element), performing a command on it (navigate to URL, modify DOM, etc.) and asserting that the target satisfies the provided conditions. Puppetry provides a user-friendly interface to define targets and manage test cases bundled in test suits. During test run (or export) Puppetry suites are turned into Jest test files powered by Puppeteer API.
Puppetry deals with projects, where project is basically a folder with project configuration, reusable snippets and suite files. Suite contains targets and groupsof tests cases, where test case is a sequence of test steps (commands, assertions and references). Besides, project includes environment-dependent template variables and git configuration.