用于评估网页界面的匹配算法
1. 引言
网页界面通常使用多种语言构建,如 HTML、CSS 和 JavaScript。它们依赖用户交互获取输入,数据接收无预定顺序,这使得传统黑盒技术难以用于评估。
本文提出一种匹配算法,可在两个布局相似的图形界面间映射元素。该算法能识别不同类型、尺寸或结构但功能等效的元素。元素映射是算法核心,通过元素属性识别在参考界面和测试界面中起相同图形作用的元素。属性分为原始属性(直接从 DOM API 获取)和派生属性(反映元素间空间关系),映射结果是评估网页应用布局和功能的基础。
早期版本算法存在局限,假设非叶子元素仅用于布局,未评估有图形影响的此类元素。当前版本解决了该问题,验证表明其评估结果与专家评估结果有 99% 的相关性。
2. 技术现状
随着编程课程学生数量增加,手动评估学生练习效率低,多数学校采用自动化评估环境。常见的编程评估系统使用黑盒模型,通过一组测试用例评估程序,将程序执行结果与预期输出比较,全匹配则通过,否则不通过。
该模型虽简单且语言独立,但存在不足:仅评估执行副作用,非执行本身;创建覆盖所有边界情况的测试用例困难;仅适用于严格格式的数据流输入,不适用于 GUI,因为 GUI 中鼠标和键盘事件无序传递数据。
现有 GUI 自动评估环境检查 GUI 结构,非黑盒方法,且依赖特定语言和窗口工具包,需识别 GUI 元素。部分方法用于 Java GUI 评估,如 JEWL、Thorn 等人开发的工具包及 Gray 和 Higgins 提出的系统。也有比较网页的方法,如比较页面内部结构(用于检测抄袭)和图像比较(如软件 diffee),但这些方法不适合教育目的的
超级会员免费看
订阅专栏 解锁全文
3803

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



