# Welcome Puppetry

Puppetry is an open-source desktop application that gives non-developers the ability to create, manage, and integrate automated tests for Web.

* [Releases](https://github.com/dsheiko/puppetry/releases)
* [Issues](https://github.com/dsheiko/puppetry/issues)
* [Slack channel](https://puppetry-app.slack.com)
* [Facebook page](https://www.facebook.com/puppetry.testing)

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](https://jestjs.io) test files powered by [Puppeteer API](https://pptr.dev/).&#x20;

Puppetry deals with projects, where [**project**](https://docs.puppetry.app/project) is basically a folder with project configuration, reusable snippets and suite files.  [**Suite**](https://docs.puppetry.app/suite) contains [**targets**](https://docs.puppetry.app/target) and [**groups**](https://docs.puppetry.app/group) of [**tests cases**](https://docs.puppetry.app/test-case), where test case is a sequence of [**test steps**](https://docs.puppetry.app/test-case) (**commands**, **assertions** and **references**). Besides, project includes environment-dependent [**template variables**](https://docs.puppetry.app/template) and [**git configuration**](https://docs.puppetry.app/version-control).
