基于GUI的Android应用程序中WebView页面自动化测试系统的设计与实现

来源 :北京邮电大学 | 被引量 : 0次 | 上传用户:orientaladam
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着移动设备的快速发展以及Android平台的不断完善,移动应用成为了互联网品牌的标准输出模式。如何在瞬息万变的互联网环境中快速、低成本的上线应用功能也成为了应用开发人员的基本追求之一,因此hybrid应用应运而生。hybrid应用使用web模式开发核心功能,在原生开发框架上使用WebView(Android)、UIWebView(iOS)等控件运行web程序代码,集成了 web的跨平台开发和原生应用的良好交互的优势。为了保证应用的质量,自动化遍历测试技术的研究成为当前研究热点。然而现有的自动化测试技术以控件为最小细粒度进行动态测试,并不能完全覆盖hybrid应用中WebView控件内容。因此对hybrid应用程序的WebView页面进行事件自动化测试具有非常重要的现实意义。为了解决上述问题,本文提出了一种基于阈值优化的GUI模型遍历算法的WebView自动化测试方法,验证了遍历算法的有效性,并将自动化遍历测试应用于WebView的安全检测。该方法的目的是通过自动化测试遍历WebView页面的事件,从而为WebView组件自动化测试提供新的切入点。该技术使用静态分析筛选处使用WebView控件的hybrid应用,然后动态运行过程中出现的WebView页面进行GUI事件树简化,构建GUI模型,并根据测试过程中事件实时反馈的信息不断调整模型树,计算出合适的探索路径,以最少的事件触发完成页面遍历测试。本文的主要工作包括:1、通过静态分析技术分析测试应用,获取Activity以及对应的事件回调接口信息,通过以上信息为出现的Activity建立对应的输入事件集合。针对WebView中的HTML页面,获取当前的DOM树信息,然后在此基础之上通过获取到的Activity GUI信息构建能够覆盖WebView页面的GUI模型。2、针对已经建立好的GUI模型进行内外层状态空间简化,提出了一种同层比对节点特征的分组算法,简化GUI模型所需的树结构,从而减少GUI模型内层空间,改进了基于Q-learning算法的在遍历GUI模型的同时能根据反馈结果动态调整模型的路径探索方法。3、基于上述方法设计并实现了一个能够对WebView页面进行自动化遍历测试的系统GADroid,并将其与现有遍历测试工具进行对比实验,验证了有效性。然后将系统应用于WebView安全检测中,验证了系统的实用性。
其他文献
云接入网(Cloud-Radio Access Network,C-RAN)通过虚拟化、协作化方式构建灵活的网络架构,是应对流量爆发式增长、基站维护成本居高不下等挑战的重要手段。高铁、高速车辆等高速移动终端给蜂窝移动网络的通信连续性和质量提出了新的挑战,利用C-RAN灵活的网络架构为高速移动终端提供超低时延、高可靠的通信服务,是解决这些挑战的有效途径。本文根据下一代前传接口(Next Genera