中文

勘误:利用柔性树匹配修复 Web 自动化脚本中的失效定位器

软件工程 2021-06-10 v1

摘要

Web 应用不断演进以集成新功能并修复已报告的缺陷。即便看似微小的改动,有时也会导致文档对象模型(DOM)——浏览器用以渲染 Web 应用中所有元素的底层模型——发生显著修改。与 Web 应用交互的脚本(例如 Web 测试脚本、爬虫或机器人流程自动化)依赖于这一持续演化的 DOM,这意味着它们往往格外脆弱。更确切地说,自动化脚本中出现失效的主要成因是元素定位器,即自动化脚本用于在 DOM 中导航的标识符。当 DOM 演化时,这些标识符往往失效,从而导致相关脚本无法再定位预期目标元素。为此,已有若干研究探索了自动修复页面上失效定位器的思路。这些工作试图通过扫描新 DOM 中的所有元素来寻找最相似者,从而修复给定的失效定位器。遗憾的是,当 Web 页面复杂度上升时,这种方法难以扩展,导致计算时间过长或元素修复错误。因此,本文从另一视角切入该问题,提出了一种利用树匹配算法重新定位失效定位器的新型定位器修复方案。该方案名为 Erratum,采用整体化方法缩减元素搜索空间,极大简化了定位器修复任务并显著提升了修复准确率。我们在一个大规模基准上比较了 Erratum 的鲁棒性,该基准由应用于当前生产环境中流行 Web 应用的实际与合成变异构成。我们的实证结果表明,Erratum 的准确率优于前沿方案 WATER 达 67%。

关键词

引用

@article{arxiv.2106.04916,
  title  = {Erratum: Leveraging Flexible Tree Matching to Repair Broken Locators in Web Automation Scripts},
  author = {Sacha Brisset and Romain Rouvoy and Lionel Seinturier and Renaud Pawlak},
  journal= {arXiv preprint arXiv:2106.04916},
  year   = {2021}
}