Sidereal: Statistical adaptive generation of robust locators for web testing
Authors:
- 25 April 2021
- journal article
- research article
- Published by Wiley in Software Testing, Verification and Reliability
- Vol. 31 (3) , e1767
Abstract
Summary: By ensuring adequate functional coverage, End‐to‐End (E2E) testing is a key enabling factor of continuous integration. This is even more true for web applications, where automated E2E testing is the only way to exercise the full stack used to create a modern application. The test code used for web testing usually relies on DOM locators, often expressed as XPath expressions, to identify the web elements and to extract the data checked in assertions. When applications evolve, the most dominant cost for the evolution of test code is due to broken locators, which fail to locate the target element in the novel versions and must be repaired. In this paper, we formulate the robust XPath locator generation problem as a graph exploration problem, instead of relying on ad‐hoc heuristics as the one implemented by the state of the art tool robula+. Our approach is based on a statistical adaptive algorithm implemented by the tool sidereal, which outperforms robula+'s heuristics in terms of robustness by learning the potential fragility of HTML properties from previous versions of the application under test. sidereal was applied to six applications and to a total of 611 locators and was compared against two baseline algorithms, robula+ and Montoto. The adoption of sidereal results in a significant reduction of the number of broken locators (respectively ‐55% and ‐70%). The time for generating such robust locators was deemed acceptable being in the order of hundredths of second.Keywords
This publication has 25 references indexed in Scilit:
- Meta-heuristic Generation of Robust XPath Locators for Web Testing2015
- Using Multi-Locators to Increase the Robustness of Web Test Cases2015
- Resilient user interface level tests2014
- Visual vs. DOM-Based Web Locators: An Empirical Study2014
- Capture-replay vs. programmable web testing: An empirical assessment during test case evolution2013
- Efficient and change-resilient test automation: An industrial case study2013
- Improving Test Suites Maintainability with the Page Object Pattern: An Industrial Case Study2013
- JAutomate: A Tool for System- and Acceptance-test Automation2013
- WATER2011
- Automated browsing in AJAX websitesData & Knowledge Engineering, 2011