← 最新论文
💻 computer science

ReproBreak: A Dataset of Reproducible Web Locator Breaks

本文介绍了 ReproBreak,这是一个包含 449 个在 359 个开源仓库中识别出的可复现 Web 定位器失效案例的新颖数据集,旨在支持针对 Cypress 和 Playwright 等自动化 GUI 测试框架中的测试脆弱性与修复研究。

原作者: Thiago Santos de Moura, Leon Adamietz, Samra Mehboob, Yannic Noller

发布于 2026-05-13
📖 1 分钟阅读☕ 轻松阅读

原作者: Thiago Santos de Moura, Leon Adamietz, Samra Mehboob, Yannic Noller

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,你正在建造一个专为打扫房屋而设计的机器人管家。为了完成工作,机器人需要找到特定的物体:“拿起厨房台面上的红色马克杯。”

在软件世界中,这条指令被称为定位器(locator)。它是计算机程序用来在网站上查找按钮、链接或文本框的一组指示,以便点击它们或向其中输入内容。

问题:房屋进行了装修

现在,想象你决定装修厨房。你并没有改变马克杯的功能(它仍然用来装咖啡),也没有改变台面的位置,但你决定将马克杯漆成蓝色,并将其移到不同的架子上。

当你的机器人试图遵循其旧指令(“找到厨房台面上的红色马克杯”)时,它感到困惑了。它再也找不到那个红色的马克杯。即使咖啡还在,房子依然干净,机器人却停止了工作并抛出了错误。

在软件测试中,这被称为定位器失效(Locator Break)。网站发生了细微变化(即“装修”),但测试指令未能及时更新,导致测试失败。这让开发者感到沮丧,因为他们不得不花费数小时修复这些失效的指令,而不是开发新功能。

解决方案:ReproBreak

这篇论文介绍了一种名为ReproBreak的新工具。你可以把它想象成一个庞大且有条理的“失效机器人指令”图书馆

以下是研究人员构建这个图书馆所做的步骤:

  1. 搜寻:他们查看了 359 个不同的开源网站(类似于公共图书馆或社区中心),这些网站使用了两种流行的机器人框架,即CypressPlaywright
  2. 侦探工作:他们扫描了数千次更新(提交记录),以找出有人更改“指令”(定位器)的时刻。
  3. 验证:仅仅因为指令发生了变化,并不意味着它就失效了。有时,人们更改指令只是为了保险起见(例如在机器人到达之前就把马克杯漆成蓝色)。为了确认,研究人员为前四个项目构建了一个特殊的“时间机器”(使用 Docker 容器)。他们使用指令尝试在网站的版本上运行。
    • 如果测试失败?找到了! 那就是真正的定位器失效。
    • 如果测试通过?那只是预防性的更改。

结果

他们发现了449 个确认案例,其中指令因网站变更而失效。他们将这 449 个案例打包成一个数据集,并附带了重现失效确切时刻所需的“时间机器”脚本。

为什么这很重要

在这篇论文之前,试图修复这些失效指令的研究人员不得不进行猜测,或构建自己杂乱无章的示例。现在,他们拥有了一个标准化的训练场

将 ReproBreak 想象成软件测试员的飞行模拟器。工程师们不再只是阅读关于飞机失事的报道,而是可以加载特定的坠机场景(失效的定位器),尝试新的修复技术,并观察他们的“修复方案”在真实环境中是否真的有效。

该论文特别强调,该数据集有助于研究人员:

  • 测试新的修复工具:观察新方法是否能自动修复“红色马克杯”问题。
  • 衡量脆弱性:找出哪些类型的指令最容易失效。
  • 改进人工智能:训练人工智能编写更好、更耐用的指令,使其在网站“装修”时不会失效。

简而言之,ReproBreak 是一系列软件测试失效的真实案例集合,并提供了重放这些失效的工具,帮助开发者构建出更不容易因房屋小修小补而困惑的机器人。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →