Puppetry doesn't require programming skills. You just select from the list one of available methods or assertions for a page or an element on the page and follow the guiding tips.
Puppetry can export the tests into a Jest.js project. Thus they can be run in the command-line, e.g. in CI/CD pipeline.
Puppetry can record your interactions with the application under test and converts them into a test suite.
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
Puppetry allows creating test scenarios and referring them from test cases. When referring test scenarios we can provide an execution context.
The test organizational structure consists of projects. Every project has one or more test suites. Every suite is split in tests. And test may contain one or more browser methods and assertions.
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)
As we provided a name for a test we can add a command. Command means settings a browser method or an assertion on a target. Available targets are page and all the already defined elements aliases.
Underlying form dynamically adapts to actual target/method combination. So when select both we get method parameters (mandatory and optional)
Similar to method parameters you deal with assertions. Usually it sounds like “I assert that method return value is [select an operator e.g. greater/lower than] a provided value.
As we press F6 Puppetry generates Jest project and runs internally the 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