When | What |
---|---|
February 4, 2016 | Donated by Kartik Bajaj |
Studies who have been using the data (in any form) are required to include the following reference:
@INPROCEEDINGS{7372022,
author={Bajaj, K. and Pattabiraman, K. and Mesbah, A.},
booktitle={Automated Software Engineering (ASE), 2015 30th IEEE/ACM International Conference on},
title={Synthesizing Web Element Locators (T)},
year={2015},
pages={331-341},
keywords={Internet;Java;online front-ends;program testing;user interfaces;DOM;DOM element locator synthesis;JavaScript code;LED;Web application;Web element locator synthesis;Webpage;document object model;live editor-for-DOM;program synthesis;user interface;Cascading style sheets;HTML;Light emitting diodes;Mathematical model;Navigation;Programming;Writing;CSS selectors;Element locators;Program synthesis;Programming by example;Web applications},
doi={10.1109/ASE.2015.23},
month={Nov},}
Live Editor for DOM. Web applications evolve over time, the DOM element locators used today may not be prevalent in the future. This may affect the selector coverage and accuracy results for LED. Therefore, They have made the analyzed dataset publicly available
To programmatically interact with the user interface of a web application, element locators are used to select and retrieve elements from the Document Object Model (DOM). Element locators are used in JavaScript code, Cascading stylesheets, and test cases to interact with the runtime DOM of the webpage. Constructing these element locators is, however, challenging due to the dynamic nature of the DOM. We find that locators written by web developers can be quite complex, and involve selecting multiple DOM elements. We present an automated technique for synthesizing DOM element locators using examples provided interactively by the developer. The main insight in our approach is that the problem of synthesizing complex multi-element locators can be expressed as a constraint solving problem over the domain of valid DOM states in a web application. We implemented our synthesis technique in a tool called LED, which provides an interactive drag and drop support inside the browser for selecting positive and negative examples. We find that LED supports at least 86% of the locators used in the JavaScript code of deployed web applications, and that the locators synthesized by LED have a recall of 98% and a precision of 63%. LED is fast, taking only 0.23 seconds on average to synthesize a locator.