# GUI 抓取：面向测试的图形用户界面逆向工程

> GUI 抓取从运行中的桌面应用程序逆向工程出测试模型，而不依赖其源码或规格说明。抓取器从顶层窗口开始，以编程方式点击可执行控件逐一打开子窗口，记录每个窗口的控件、属性与取值，并构建由窗口组成的 GUI 森林。它再从森林推导出事件流图（记录组件内哪些事件可以相继发生）以及表示组件调用关系的集成树。论文介绍了两种抓取器：面向 Microsoft Windows 应用、基于窗口句柄与 Windows API 的实现，以及面向 Java Swing 应用、基于 Java AWT 与 Swing API 的实现。作者将其应用于 WordPad、Notepad、Yahoo Messenger 及学生开发的 TerpOffice 办公套件中的四个应用，所得模型用于作者 GUITAR 与 DART 系统中的自动化测试生成。

- 作者：Atif Memon; Ishan Banerjee; Adithya Nagarajan
- 原标题：GUI ripping: reverse engineering of graphical user interfaces for testing
- 发表载体：WCRE 2003
- 发表状态：会议论文
- 出版／提交日期：2003 年（具体日期未核实）
- 日期依据：IEEE Xplore 给出的出版日期为 2003 年，论文集名称为 WCRE 2003；Crossref 元数据未记载出版日期。本条目保留年精度，不以会议日期或 2004 年的 Xplore 收录日期替代。
- DOI：10.1109/WCRE.2003.1287256
- 来源复核于：2026-10-19
- 收录于：2026-10-30
- 原始论文：<https://ieeexplore.ieee.org/document/1287256>
- PDF：<https://www.cs.umd.edu/~atif/papers/MemonWCRE2003.pdf>
- BibTeX：<https://awesomerea.org/papers/citations/paper-gui-ripping.bib>
- 目录页面：<https://awesomerea.org/zh/papers/paper-gui-ripping/>
- 记录 JSON：<https://awesomerea.org/papers/paper-gui-ripping/record.json>
- 英文版：[English](https://awesomerea.org/papers/paper-gui-ripping/index.md)

## 研究范围与局限

目标是 2003 年前后 Microsoft Windows 与 Java Swing 上的桌面 GUI，而非移动应用或网页界面；模型假定控件上的事件结果确定且属性取值离散，不涵盖依赖时序、连续媒体或非确定性的 GUI。恢复出的模型是供测试生成使用的窗口、控件与事件结构，并非 UI 代码或应用逻辑，论文也未证明覆盖了全部行为。抓取可能遗漏窗口与控件：Windows 抓取器会遗漏绕过 Windows API 的控件，且无法区分模态与非模态窗口；Java 抓取器则无法提取打印对话框的结构。在案例研究中，测试人员需手动补充遗漏的窗口，每个应用耗时 5 至 10 分钟，并需为 Windows 应用手动指定顶层窗口。结果来自七个应用以及作者自己的测试流程。

## 与本合集的关联

补充一种经典的基于执行恢复应用 GUI 结构与事件模型的方法，与本节的截图转代码及应用分析研究互补。

## 发表与复核说明

IEEE Xplore 与 Crossref 仅以 A. Memon、I. Banerjee 和 A. Nagarajan 列出作者，页码为第 10 届逆向工程工作会议（Victoria, BC）论文集第 260–269 页；本条目采用论文中印出的作者全名。标题沿用 IEEE 的句首大写形式；论文中的写法为“GUI Ripping: Reverse Engineering of Graphical User Interfaces for Testing”。PDF 为 Atif Memon 在马里兰大学页面上提供的 10 页副本；版本记录以 IEEE Xplore 为准，后者未将其标为开放获取。论文称 GUI Ripper 已作为可下载工具提供，并引用 guitar.cs.umd.edu，但审阅时该主机名无法解析。

## 一手来源

1. <https://ieeexplore.ieee.org/document/1287256>
2. <https://web.archive.org/web/20251228032001/https://ieeexplore.ieee.org/document/1287256/>
3. <https://api.crossref.org/works/10.1109/WCRE.2003.1287256>
4. <https://www.cs.umd.edu/~atif/papers/MemonWCRE2003.pdf>

## 关于此条目

已依据论文及一手来源复核。请通过原始论文或 BibTeX 引用原作者。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
