Puppetry - codeless end-to-end test automation (original) (raw)
Puppetry
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 viaextensive UI and achievable without any scripting.
Comprehensive E2E Testing
Puppetry supports various testing approaches includingFunctional testing,Testing RWD,Testing Dynamic Content,Exhaustive Testing,Performance Testing,Visual Regression Testing,Mocking HTTP/S Requests,REST API Testing,Testing Google Analytics tracking code,Testing Chrome Extensions,Testing Transactional Emails.
Ready for Continuous Integration
Puppetry can export the tests into a Jest.js project, which can be easily included in CI/CD pipeline.
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 usingFaker.js methods
Create and run E2E tests
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)
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)
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.
Export tests and run on the server
Export your tests
You can export the tests into Jest project, which can be executed on any platform withNode.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.