Test Modeller and SelectorsHub
Convert web UI scans into rigorous automated tests and data, finding UI bugs before they hit production. Test Modeller and SelectorsHub avoid manual effort and complexity in web UI testing, enabling cross-functional teams to generate the UI tests they need in-sprint.
Brittle UI testing lags behind new releases
Testers under pressure to automate more often start with web UI testing. However, UI test automation can quickly become time-consuming and complex. Test teams often battle with impenetrable DOM structures, hunting for reliable identifiers in Shadow DOM trees. Scripting the repetitive UI tests is then time-consuming and skill-intensive, often producing low-coverage, brittle scripts. These scripts and identifiers must be checked and updated after every UI change, repeating much of the original effort spent creating UI tests. These manual, cumbersome processes force UI testing further behind new releases. They expose the face of an organisation to costly bugs, calling for a systematic and automated approach to UI test automation.
Auto-generate the UI tests and data needed in-sprint
Test Modeller rapidly boosts UI test automation rates, auto-generating rigorous scripts from quick-to-build flowcharts. The SelectorsHub integration lets cross-functional teams convert UI scans into executable test code and intuitive flowchart models. Hitting “generate” then creates and exports the test cases, scripts and data needed for rigorous UI testing, testing fast-changing web UIs in short iterations. Testers no longer waste time finding brittle identifiers in complex DOM structures, and can avoid time lost to repetitive scripting and test data bottlenecks. They can auto-generate the tests and data they need, finding and fixing UI bugs while they are quick and affordable to fix.
With SelectorsHub, simply selecting a web UI element identifies the XPaths and locators needed for reliable UI test automation. Importing the scans to Test Modeller then auto-generates reusable page objects and actions, reducing time spent on test scripting. “Fast Modelling” assembles the reusable actions into visual flowcharts, automatically identifying equivalence classes associated with each element. This rapidly builds logically complete models of fast-changing web UIs, hitting “generate” to create an optimised set of UI tests and data. A range of optimisation algorithms create the smallest set of tests needed to “cover” the model or satisfy a given risk profile, pushing the test cases and scripts to existing frameworks and test management tools for rigorous in-sprint testing.
From UI scans to rigorous test automation scripts in short iterations
Watch this short demo of testing a webstore using a Java test automation framework, and discover how:
-
SelectorsHub automatically scans web UI elements, identifying reliable selectors to use in rigorous test automation.
-
Importing the SelectorsHub scans to Test Modeller creates a library of reusable test page objects and actions, saving time on complex test automation scripting.
-
“Fast Modelling” converts the reusable automation objects into intuitive visual flowcharts, automatically identifying positive and negative test data values for each UI element.
-
Hitting “generate” applies a range off coverage algorithms, producing the smallest set of tests needed to test the modelled logic rigorously.
-
Risk-based test optimization reduces test volume and run times, detecting bugs when they require less time and effort to fix.
-
Test Modeller automatically exports the test cases and data to test management tools like Xray for Jira, tracking the rigorous tests before the next rapid release.
-
A powerful code generation engine creates scripts for open source, commercial and homegrown frameworks, minimizing time spent on repetitive test scripting.
-
Pushing the optimized UI test scripts to in-house automation frameworks and CI/CD infrastructure executes the UI tests in-sprint.
-
Maintaining scripts and test cases becomes as quick and simple as updating the central flows, hitting “generate” to create tests in short iterations.