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.
Puppetry supports various testing approaches including
Testing Dynamic Content,
Puppetry is built on top of Puppeteer (headless Chrome API) by Google and Jest testing framework by Facebook
Puppetry can export the tests into a Jest.js project, which can be easily included 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
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.
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)
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.
Underlying form dynamically adapts to actual target/method combination. So when both selected we get method parameters (mandatory and optional)
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.
As we press F6 Puppetry generates Jest project and runs internally the tests. The report may include screenshots and network activity details.
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