论文部分内容阅读
在移动互联网高度发展、搭载完备操作系统的移动设备高度普及的背景下,移动应用正在逐渐接替基于网页的信息渠道,在现代生活的诸多方面发挥作用。然而,数量众多的残障人士由于视觉、听觉或行动能力上的缺陷,在移动设备的使用上有很大的限制。因此,对移动应用进行无障碍合规程度的评估,同时检测和寻找移动应用中难以被残障人士使用的交互元素,提供给移动应用开发者作为参考,是有意义的。由于移动应用的界面系统和基于HTML的网页有较大差异,用于Web页面的自动化爬虫无法简单地在移动应用的视图爬取中使用。另外,移动应用的视图元素缺乏类似URL的较为稳定的资源定位符,在爬取大量移动应用的视图元素之后,难以像Web爬虫一样通过URL对元素进行稳定的界面重现和相似性判定等工作。这些都对面向移动应用的自动化无障碍检测造成了困难。本文基于移动应用的特点,实现了一种能够遍历移动应用的自动化移动应用交互元素爬虫。该工作以Android移动平台提供的自动化测试框架UI Automator为基础,对用户的交互操作进行模拟,对移动应用界面进行遍历。针对移动应用缺少URL,难以重现交互元素进行爬取的问题,本文提出通过综合元素属性与交互顺序,构建基于XPath的元素定位符的解决方案。在工作过程中,采集应用界面的XML表示和图像表示,用于自动和人工的移动应用界面无障碍检测。另外,针对移动应用爬虫运行效率较低、爬取过多重复界面的问题,本文提出了基于树编辑距离、面向移动应用界面的相似度衡量方法,通过结合移动应用界面的节点特征与视觉特征,增加了移动应用自动化检测过程中样例发现的准确度,通过减少不必要的遍历工作,提高了自动化检测的效率。最后,本文在上述工作的基础上实现了面向无障碍检测的移动应用界面爬虫,通过在移动应用中进行自动化的交互元素爬取,并在过程中应用改进的相似度衡量算法,同时提供界面无障碍检测的接口,验证了上述工作的可行性。