基于模型的GUI测试与预测回归模型应用
1. GUI结构提取与事件属性
在GUI测试流程中,Ripper算法起着关键作用。它负责提取GUI的各种组件信息,不过其提取效果受配置和定制化的影响。如果缺乏定制,Ripper算法提取的窗口、小部件和属性会减少,错过的组件将被完全跳过,这些自定义组件(及其子组件)也不会出现在GUIStructure中。而GUIStructure的准确性和丰富度会影响后续衍生模型的准确性和丰富度,即便使用较小或可能不准确的GUIStructure模型,也能构建预测回归模型。
Ripper提取的最重要信息与应用程序的事件相关。在GUI结构中,每个窗口包含一个或多个组件,组件可以是交互式的小部件,也可以是组件组。小部件会产生事件,每个事件都有属性,其中两个关键的计算属性对下游处理至关重要:
- 事件ID :通过对小部件及其父窗口的属性进行哈希计算得到的唯一标识符。它的作用是帮助Ripper算法避免属性提取的无限循环,并确保在相同执行情况下ID的一致性。只要小部件的结构属性(如宽度、高度或屏幕位置)有差异,就会被视为新的小部件,其事件ID也会不同。
- 事件类型 :根据事件执行后对GUI的观察效果推断出的类别,而非点击、输入等操作类型。具体有以下五种事件类型:
- menu - open :导致菜单打开的事件。
- termination :导致窗口关闭的事件。
- restricted - focus :打开一个窗口,且该窗口会阻止对所有现有窗口
超级会员免费看
订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



