Web testing solution for non-developers

Web testing solution for non-developers

Puppetry requires neither programming skills nor experience with any of web-drivers/frameworks. Everything you may need to create and manage tests is available via extensive UI and achievable without any scripting.

Standing on the shoulders of giants

Standing on the shoulders of giants

Puppetry is built on top of Puppeteer (headless Chrome API) by Google and Jest testing framework by Facebook

Ready for Continuous Integration

Ready for Continuous Integration

Puppetry can export the tests into a Jest.js project, which can be easily included in CI/CD pipeline.

Automation recording

Automation recording

Puppetry can record your interactions with the application under test and converts them into a test suite.

Template expressions

Template expressions

With Puppetry you can use template tags to refer variables defined per environment (test, stage, production). Moreover, you can apply template functions to build a value, e.g. by using Faker.js methods

Create and run E2E tests

Manage your test structure

Manage your test structure

The test organizational structure consists of projects. Every project has one or more test suites. Every suite is split in test cases, where test case may contain one or more browser methods and assertions.

Locate and define element targets

Test target can be either page or an element on the page. In the second case we need to inform Puppetry project what exact elements we mean. Locating an element is quite easy in a modern browser. You just need to right-click on the target element and copy its CSS selector or XPath. Puppetry takes in both. See how to. We just need to assign a meaninful name (alias) to the element in "Test targets" tab and copy/paste the locator (selector/XPath)

Locate and define element target
Select a target

Select a target

Test cases we populate with commands. Command means settings a browser method or an assertion on a target. Available targets are page and all the already defined elements aliases.

Call a method

Underlying form dynamically adapts to actual target/method combination. So when both selected we get method parameters (mandatory and optional)

Select a method
Make an assertion

Make an assertion

With assertions we not just perform a browser method, but test the result. Usually it sounds like “I assert that the result equals/contains/greater than/lower than/.. a provided value.

Get test report

As we press F6 Puppetry generates Jest project and runs internally the tests. The report may include screenshots and network activity details.

Get test report

Export tests and run on the server

Export project for CI

Export your tests

You can export the tests into Jest project, which can be executed on any platform with Node.js.. Since the tests generated by Puppetry perform browser methods on headless Chrome, they run perfectly also on machines with no display hardware and no physical input devices. Thus your automated UI tests can be simply plugged into Continuous Integration / Continuous Deployment pipeline

Tests for coders

Puppetry generates the tests as readable / maintainable JavaScript specs. So developers can easily read them and modify.

Generated test code