(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210513711.3
(22)申请日 2022.05.11
(71)申请人 国家计算机网络与信息安全管理中
心
地址 100029 北京市朝阳区裕民路甲3号
(72)发明人 姜松浩 王博 朱天 刘迪
王冠宇
(74)专利代理 机构 北京代代志同知识产权代理
事务所(普通 合伙) 16004
专利代理师 祗志洁
(51)Int.Cl.
H04M 1/24(2006.01)
H04M 1/72403(2021.01)
G06F 9/451(2018.01)
G06F 11/36(2006.01)G06F 16/903(2019.01)
(54)发明名称
一种基于控件匹配的自动化测试与应用流
畅度测试方法
(57)摘要
本发明是一种基于控件匹配的自动化测试
与应用流畅度测试方法, 涉及Android端自动化
测试领域。 本发明方法包括: 预先设置包含行为
模拟和流畅度判定的测试脚本, 当Android端接
收到测试命令后, 读取相应的测试脚本; 获取界
面控件结构定位目标控件, 执行模拟操作; 在每
次模拟操作后开始计时, 并在到达所设置的时间
阈值时, 获取当前界面的所有控件元素, 结合流
畅度判定脚本中记载的界面结构信息, 判断界面
是否加载完成; 根据在不同时间阈值的界面加载
情况得出应用流畅度判定结果并返回给服务器
端。 本发明不需获取ROOT权限, 不需连接PC端进
行测试, 安全性更强, 使用更加方便, 降低了适配
成本, 且测试准确率更高, 测试速度更 快。
权利要求书1页 说明书4页 附图1页
CN 115174725 A
2022.10.11
CN 115174725 A
1.一种基于控件匹配的自动化测试与应用流畅度测试方法, 其特征在于, 包括如下步
骤:
步骤1, Android端接收到服务控制端远程下发的测试命令后, 筛选测试脚本; 其中, 测
试脚本包括行为模拟脚本和流畅度判定脚本; 所述行为模拟脚本中记录对控件的模拟操
作; 所述流畅度判定脚本中存储有应用完全加载界面时界面所包含的全部控件的结构 框架
的信息;
步骤2, 调用Andro id端的辅助功能进行自动化操作, 包括:
(2.1)获取Andro id端界面控 件结构, 搜索定位需要 进行模拟 操作的目标控 件;
(2.2)对目标控 件根据行为模拟脚本进行模拟 操作;
步骤3, 在每次模拟 操作后进行应用流畅度判断, 包括:
(3.1)设置计时器和三个时间阈值t1、 t2和t3, t1<t2<t3, 在每次模拟操作后开始计时, 依
次在到达时间阈值时, 执 行(3.2);
(3.2)获取当前Android端界面的所有控件元素, 生成控件元素列表, 判断该列表是否
包含流畅度判定脚本中记载的全部控 件, 若是, 则界面加载完整, 否则界面加载不完整;
(3.3)根据界面加载情况得出应用流畅度判断结果, 包括: 在t1时刻判断是否流畅, 在t3
时刻判断界面加载 是否完整, 在t2时刻提前判断界面是否 完整得出流畅度结果。
2.根据权利要求1所述的方法, 其特征在于, 所述的步骤1中, 流畅度判定脚本 中存储界
面所包含的全部控 件的结构框架的固定信息 。
3.根据权利要求1或2所述的方法, 其特征在于, 所述的步骤3中, 设置正则表达式, 判断
控件元素列表是否包 含流畅度判定脚本中记载的界面控 件的结构框架的固定信息 。
4.根据权利要求1所述的 方法 , 其特征在于 , 所述的 步骤 (3 .2) 中 , 调 用
AccessibilityService接口获取Android端界面的ROOT节点, 深度遍历该 ROOT节点, 获取界
面的所有控 件元素, 生成控 件元素列表。
5.根据权利要求1所述的方法, 其特 征在于, 所述的步骤(3.3), 包括:
(1)在t1时刻, 若判断界面加载完整, 则应用流畅度判断结果为流畅, 否则, 继续执行在
t2时刻的判断;
(2)在t2时刻, 若判断界面加载完整, 则应用流畅度判断结果为不流畅, 否则, 记载执行
在t3时刻的判断;
(3)在t3时刻, 若判断界面加载完整, 则应用流畅度判断结果为不流畅; 若界面加载不完
整, 则判断结果为不完整; 若界面加载出现错误, 判断结果为出错; 若界面加载无反应, 判断
结果为超时。权 利 要 求 书 1/1 页
2
CN 115174725 A
2一种基于控件匹配的 自动化测试与应用流畅度测试方 法
技术领域
[0001]本发明涉及自动化测试领域, 涉及一种测试Android端界面加载流畅程度的技术,
具体涉及一种基于控 件匹配的自动化测试与应用流畅度测试 方法。
背景技术
[0002]随着移动手机的普及, Android应用的用户群体逐渐扩大, 用户的需求不再局限于
功能性的满足, 更加注重使用时的体验和感受。 在众多影响Android应用体验的因素中, 流
畅度具有极高的用户关注度。 当应用流畅度很差, 频繁出现卡顿或页面加载不完整时, 用户
的工作或生活会严重受到影 响。 因此, 采用一种有效测试方法去分析和优化A ndroid应用的
流畅度尤为重要。
[0003]流畅度测试需要用到自动化测试技术, 自动化测试技术指的是可以通过预设脚 本
等方式去实现模拟点击, 滑动, 编辑等操作, 从而达到节省人力、 时间或硬件资源, 提高测试
效率的目的。
[0004]当前比较常用的Android自动化测试技术有adb(Android Debug Bridge)技术,
Xposed框架等, 这些技 术有以下 特点:
[0005](1)使用adb技术可以直接操作管理Android模拟器 或者真实的Android设备, 可以
起到调试桥的作用, 但在使用时通常需要一台PC主机与手机连接, 使用PC主机进行脚本测
试, 而这无疑增 加了实际应用中的不方便, 不 适用难以携带PC主机的应用场景。
[0006](2)使用如Xposed的框架、 可以在Android高权限模式下运行的框架服务, 可以在
不修改Apk文件的情况下影响程序运行(修改系统)的框架服务, 可以通过框架制作出许多
功能强大的模块, 且在功能不冲突的情况下同时运作。 但Xposed并不支持Andr oid 9以上版
本, 不能适配更新后的Android系统; 并且在使用中需要获取ROOT权限, 增加了应用中的复
杂程度和不 安全性。
[0007]在自动化模拟操作时有些方法根据坐标进行自动化测试, 然而这就需要根据测试
界面进行准确的定位, 当测试用机发生变化, 界面也 发生了变化, 这种自动化测试方法就会
失效, 因此其 维护成本很高。 为此有 些测试方法基于图像识别技术定位目标控件的位置, 并
根据其坐标信息执行自动化操作。 这样的方法实现新颖, 但是在应用中对界面分辨率以及
机器的计算性能都有很高要求, 不太适用于资源有限的移动手机。 这种方法在实际应用中
需要很大的数据样本以及计算资源, 成本会相对偏高, 并且计算时间较长 。
[0008]在流畅度测试时, 需要判断界面加载的完整度。 在判断界面加载流畅度时, 可以通
过流量包判断界面加载是否成功。 界面加载过程中, 如果流量畅通, 则说明加载比较快。 这
样的方法可以判断大型资源界面的流畅度, 但是在流量较少的界面, 很难通过流量包判断
界面加载是否成功。 也有通过机器学习技术判断加载是否成功, 通过训练一个分类器来判
断界面是否加载完成, 但这样的方法需要较多的样本集, 同时模型构建较为复杂。 还有一些
通过对比界面截图中的像素比例与加载完成后的截图中像素比例的差异的方法判断加载
是否成功。 但界面不只是由图片构成, 这样的方法显然在使用中会出现很大问题, 由像素加说 明 书 1/4 页
3
CN 115174725 A
3
专利 一种基于控件匹配的自动化测试与应用流畅度测试方法
文档预览
中文文档
7 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共7页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 07:45:45上传分享