一种APP测试方法和装置制造方法及图纸

技术编号:15616376 阅读:209 留言:0更新日期:2017-06-14 03:26
本发明专利技术实施例提供了一种APP测试方法及装置,所述方法包括:针对待测试的应用,加载相应的测试模板配置信息;所述测试模板配置信息包括对所述应用的各个Activity的各UI界面元素的测试策略;在待测试应用启动后,获取当前激活的Activity中的UI界面元素从所述测试模板配置信息中提取对当前Activity中UI界面元素的测试策略,并根据各UI界面元素的测试逻辑对所述UI界面元素进行测试;将各Activity的各UI界面元素的测试结果输出。取得了可以精确的控制对哪些UI界面元素进行点击,降低无效点击次数,提高了UI界面的测试效率的效果。

【技术实现步骤摘要】
一种APP测试方法和装置
本专利技术涉及软件
,特别是涉及一种APP测试方法和一种APP测试装置。
技术介绍
APP(Application,应用程序)是指智能手机的第三方应用程序,是目前被人们广泛使用的一种工具。在一款APP的使用过程中,该APP的开发商需要不断对APP的各UI界面进行测试,以测试系统的稳定性。目前常用测试方法是monkey测试,monkey(monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中)测试是Android系统自带的一种命令行测试工具,可以运行在模拟器里或实际设备中,monkey测试的原理是:利用socket(套接字)通讯的方式模拟用户触摸屏幕、滑动Trackball、按键等操作对APP程序进行稳定性的测试,向系统发送伪随机的事件流、数据流,实现对正在开发的应用程序进行测试。但是,由于monkey测试时使用的事件流、数据流是完全随机的,不受人工控制的,例如,monkey程序在模拟用户操作对多个页面点击测试的过程中,其中,各页面含有多个UI(UserInterface,用户界面)界面元素,如果对于某个页面,只需要测试其中的一个UI界面元素时,而由于monkey在对该页面的点击过程总是完全随机的,可能需要很多次点击操作才能点击到上述UI界面元素从而获取到测试数据,或者根本获取相应UI界面元素的测试数据。因此在先技术中,无效点击次数多,并且可能漏测关键的UI界面元素,测试效率低。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的APP测试方法和相应的APP测试装置。依据本专利技术的一个方面,提供了一种APP测试方法,包括:针对待测试的应用,加载相应的测试模板配置信息;所述测试模板配置信息包括对所述应用的各个Activity的各UI界面元素的测试策略;在待测试应用启动后,获取当前激活的Activity中的UI界面元素;从所述测试模板配置信息中提取对当前Activity中UI界面元素的测试策略,并根据各UI界面元素的测试逻辑对所述UI界面元素进行测试;将各Activity的各UI界面元素的测试结果输出。优选地,在所述针对待测试的应用,加载相应的测试模板配置信息;所述测试模板配置信息包括对所述应用的各个Activity的各UI界面元素的测试策略的步骤之前,还包括:获取待测试应用的各个Activity的view布局结构所对应的结构树;接收对结构树的各个节点所配置的测试策略;根据所述对结构树的各个节点所配置的测试策略,生成针对所述应用的测试模板配置信息。可选地,所述获取待测试应用的各个Activity的view布局结构所对应的结构树的步骤包括:通过调用HierarchyViewer工具的各布局结构获取API,获取待测试应用的各个Activity的view布局结构所对应的结构树。可选地,所述从所述测试模板配置信息中提取对当前Activity中UI界面元素的测试策略,并根据各UI界面元素的测试逻辑对所述UI界面元素进行测试的步骤包括:将当前激活的Activity中的UI界面元素,与测试模板配置信息中的各Activity中的UI界面元素进行匹配,确定允许触发的UI界面元素;对各UI界面元素,按照相应的测试策略触发所述UI界面元素进行测试。可选地,所述对所述应用的各个Activity的各UI界面元素的测试策略包括:各Activity中允许触发的UI界面元素、各UI界面元素的触发位置、各UI界面元素的触发操作类型、各UI界面元素的触发顺序。可选地,所述对各UI界面元素,按照相应的测试策略触发所述UI界面元素进行测试的步骤包括:对于存在触发顺序的UI界面元素,按照所述触发顺序触发所述UI界面元素进行测试;对于相互之间不存在触发顺序的UI界面元素,随机触发各UI界面元素进行测试。可选地,所述对所述应用的各个Activity的各UI界面元素的测试策略,还包括:对各Activity的触发比例,和/或对各UI界面元素的触发次数。可选地,所述对各UI界面元素,按照相应的测试策略触发所述UI界面元素进行测试的步骤,还包括:记录所述UI界面元素所在的Activity的被触发数量;和/或记录所述UI界面元素被触发的数量。根据本专利技术的另一个方面,还提供了一种APP测试装置,包括:测试模板配置信息加载模块,适于针对待测试的应用,加载相应的测试模板配置信息;所述测试模板配置信息包括对所述应用的各个Activity的各UI界面元素的测试策略;UI界面元素获取模块,适于在待测试应用启动后,获取当前激活的Activity中的UI界面元素;测试模块,适于从所述测试模板配置信息中提取对当前Activity中UI界面元素的测试策略,并根据各UI界面元素的测试逻辑对所述UI界面元素进行测试;输出模块,适于将各Activity的各UI界面元素的测试结果输出。优选地,在所述测试模板配置信息加载模块之前,还包括:结构树获取模块,适于获取待测试应用的各个Activity的view布局结构所对应的结构树;测试策略接收模块,适于接收对结构树的各个节点所配置的测试策略;测试模板配置信息生成模块,适于根据所述对结构树的各个节点所配置的测试策略,生成针对所述应用的测试模板配置信息。优选地,所述结构树获取模块包括:结构树获取子模块,适于通过调用HierarchyViewer工具的各布局结构获取API,获取待测试应用的各个Activity的view布局结构所对应的结构树。优选地,所述测试模块包括:UI界面元素触发确定子模块,适于将当前激活的Activity中的UI界面元素,与测试模板配置信息中的各Activity中的UI界面元素进行匹配,确定允许触发的UI界面元素;UI界面元素测试子模块,适于对各UI界面元素,按照相应的测试策略触发所述UI界面元素进行测试。优选地,所述对所述应用的各个Activity的各UI界面元素的测试策略包括:各Activity中允许触发的UI界面元素、各UI界面元素的触发位置、各UI界面元素的触发操作类型、各UI界面元素的触发顺序。优选地,所述UI界面元素测试子模块包括:UI界面元素顺序测试子模块,适于对于存在触发顺序的UI界面元素,按照所述触发顺序触发所述UI界面元素进行测试;UI界面元素随机测试子模块,适于对于相互之间不存在触发顺序的UI界面元素,随机触发各UI界面元素进行测试。优选地,所述对所述应用的各个Activity的各UI界面元素的测试策略,还包括:对各Activity的触发比例,和/或对各UI界面元素的触发次数。优选地,所述UI界面元素测试子模块还包括:界面元素触发数量记录子模块,适于记录所述UI界面元素所在的Activity的被触发数量;和/或记录所述UI界面元素被触发的数量。根据本专利技术的另一个方面,还提供了一种APP测试设备,包括:存储器,加载有多条可执行指令;处理器,执行所述多条可执行指令;所述多条指令包括执行以下步骤的方法:针对待测试的应用,加载相应的测试模板配置信息;所述测试模板配置信息包括对所述应用的各个Activity的各UI界面元素的测试策略;在待测试应用启动后,获取当前激活的Activity中的UI界面元素;从所述测试本文档来自技高网...
一种APP测试方法和装置

【技术保护点】
一种APP测试方法,包括:针对待测试的应用,加载相应的测试模板配置信息;所述测试模板配置信息包括对所述应用的各个Activity的各UI界面元素的测试策略;在待测试应用启动后,获取当前激活的Activity中的UI界面元素;从所述测试模板配置信息中提取对当前Activity中UI界面元素的测试策略,并根据各UI界面元素的测试逻辑对所述UI界面元素进行测试;将各Activity的各UI界面元素的测试结果输出。

【技术特征摘要】
1.一种APP测试方法,包括:针对待测试的应用,加载相应的测试模板配置信息;所述测试模板配置信息包括对所述应用的各个Activity的各UI界面元素的测试策略;在待测试应用启动后,获取当前激活的Activity中的UI界面元素;从所述测试模板配置信息中提取对当前Activity中UI界面元素的测试策略,并根据各UI界面元素的测试逻辑对所述UI界面元素进行测试;将各Activity的各UI界面元素的测试结果输出。2.根据权利要求1所述的方法,其特征在于,在所述针对待测试的应用,加载相应的测试模板配置信息;所述测试模板配置信息包括对所述应用的各个Activity的各UI界面元素的测试策略的步骤之前,还包括:获取待测试应用的各个Activity的view布局结构所对应的结构树;接收对结构树的各个节点所配置的测试策略;根据所述对结构树的各个节点所配置的测试策略,生成针对所述应用的测试模板配置信息。3.根据权利要求2所述的方法,其特征在于,所述获取待测试应用的各个Activity的view布局结构所对应的结构树的步骤包括:通过调用HierarchyViewer工具的各布局结构获取API,获取待测试应用的各个Activity的view布局结构所对应的结构树。4.根据权利要求1所述的方法,其特征在于,所述从所述测试模板配置信息中提取对当前Activity中UI界面元素的测试策略,并根据各UI界面元素的测试逻辑对所述UI界面元素进行测试的步骤包括:将当前激活的Activity中的UI界面元素,与测试模板配置信息中的各Activity中的UI界面元素进行匹配,确定允许触发的UI界面元素;对各UI界面元素,按照相应的测试策略触发所述UI界面元素进行测试。5.根据权利要求4所述的方法,其特征在于,所述对所述应用的各个Activity的各UI界面元素的测试策略包括:各Activity中允许触发的UI界面元素、各UI界面元素的触发位置、各UI界面元素的触发操作类型、各UI界面元素的触发顺...

【专利技术属性】
技术研发人员:张吉利
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1