Erratum: Leveraging Flexible Tree Matching to Repair Broken Locators in Web Automation Scripts

by   Sacha Brisset, et al.

Web applications are constantly evolving to integrate new features and fix reported bugs. Even an imperceptible change can sometimes entail significant modifications of the Document Object Model (DOM), which is the underlying model used by browsers to render all the elements included in a web application. Scripts that interact with web applications (e.g. web test scripts, crawlers, or robotic process automation) rely on this continuously evolving DOM which means they are often particularly fragile. More precisely, the major cause of breakages observed in automation scripts are element locators, which are identifiers used by automation scripts to navigate across the DOM. When the DOM evolves, these identifiers tend to break, thus causing the related scripts to no longer locate the intended target elements. For this reason, several contributions explored the idea of automatically repairing broken locators on a page. These works attempt to repair a given broken locator by scanning all elements in the new DOM to find the most similar one. Unfortunately, this approach fails to scale when the complexity of web pages grows, leading either to long computation times or incorrect element repairs. This article, therefore, adopts a different perspective on this problem by introducing a new locator repair solution that leverages tree matching algorithms to relocate broken locators. This solution, named Erratum, implements a holistic approach to reduce the element search space, which greatly eases the locator repair task and drastically improves repair accuracy. We compare the robustness of Erratum on a large-scale benchmark composed of realistic and synthetic mutations applied to popular web applications currently deployed in production. Our empirical results demonstrate that Erratum outperforms the accuracy of WATER, a state-of-the-art solution, by 67


Similarity-based web element localization for robust test automation

Non-robust (fragile) test execution is a commonly reported challenge in ...

Robust web element identification for evolving applications by considering visual overlaps

Fragile (i.e., non-robust) test execution is a common challenge for auto...

The Klarna Product Page Dataset: A Realistic Benchmark for Web Representation Learning

This paper tackles the under-explored problem of DOM tree element repres...

Usability and Aesthetics: Better Together for Automated Repair of Web Pages

With the recent explosive growth of mobile devices such as smartphones o...

LeakPair: Proactive Repairing of Memory Leaks in Single Page Web Applications

Modern web applications often resort to application development framewor...

Obstacles in Fully Automatic Program Repair: A survey

The current article is an interdisciplinary attempt to decipher automati...

Please sign up or login with your details

Forgot password? Click here to reset