[发明专利]一种基于控件功能标注的移动端自动化软件测试方法有效
申请号: | 202011014912.6 | 申请日: | 2020-09-24 |
公开(公告)号: | CN112148608B | 公开(公告)日: | 2021-11-05 |
发明(设计)人: | 姚朋;齐明;雷瞻遥;夏鸣远;戚正伟 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 上海恒慧知识产权代理事务所(特殊普通合伙) 31317 | 代理人: | 张宁展 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 控件 功能 标注 移动 自动化 软件 测试 方法 | ||
1.一种基于控件功能标注的移动端自动化软件测试方法,其特征在于:对待测软件的各个界面中的所有可交互控件进行功能标注,建立界面功能性控件模型,进而生成快速兼容性测试用例、初始界面快捷进入函数、单界面稳定性测试用例和跳出控件屏蔽黑名单,自动完成对待测软件的测试;
采用深度优先探索的方式遍历整个待测软件的各个界面,在遍历的过程中,对每个界面的信息进行结构化分析,筛选出所有可交互控件,然后根据可交互控件被点击时产生的行为,对其进行相应的功能属性标注;
根据功能属性不同,将所有可交互控件划分为Portal控件、Back控件、弹框控件Popup控件、输入控件EditText控件、标签卡控件Tab控件、普通控件Normal控件和同构控件Isomorphic控件;
进行相应的功能性标注的方法包括以下步骤:
S1、使用Android系统内置的uiautomator系统服务,自动启动待测软件并截取待测软件启动后界面上的控件结构;
S2、通过adb shell dumpsys activity activities命令,获取系统界面访问堆栈;
S3、遍历S1中当前界面上的所有控件,筛选出class属性是待测软件,并且clickable属性为true的控件,组成未遍历的可交互控件集合;
S4、遍历S1中当前界面上的所有控件,对每个控件构造其对应的特征字符串,将具有相同的特征字符串的且为S3中的可交互控件,标注为同构控件Isomorphic控件;
S5、从未遍历的可交互控件集合中剩余的可交互控件中任取一个,根据其bounds属性参数计算其中心位置(x+w/2,y+h/2),使用adb shell input命令接收中心位置为参数,模拟用户点击中心位置,并在完成后,重复S1获取对应界面的控件结构,重复S2获取界面访问堆栈;
S6、如果S5中获取的界面访问堆栈有新增界面,则标注此时S5中选取的可交互控件为Portal控件,
如果界面访问堆栈有减少,则标注此时S5中选取的可交互控件为Back控件,
如果界面访问堆栈没有变化,则执行S7-S9;
S7、执行adb shell dumpsys window InputMethod命令,并检查输出,如果发现有“mHasSurface”字段,则标注为输入控件即EditText控件,
执行adb shell dumpsys window windows命令,并检查输出,如果“mCurrentFocus”字段的popup不为空,则标注为弹框控件即Popup控件;
S8、如果与S5中选取的可交互控件交互后,重复S1获取的控件结构发生变化或者执行adb shell dumpsys activity top命令,结果“added fragments”产生变化,则标注为标签卡控件即Tab控件;
S9、如果非S4、S6、S7、S8所述的情况,则标注为普通控件即Normal控件;
S10、重复步骤S5-S9,直到当前界面的未遍历的可交互控件集合中所有的可交互控件都被标注;
然后通过Back控件回到上一个界面,重复S4-S9,直到上一个界面所有的控件也被标注完成;
然后通过S6中标注的Portal控件,进入还存在未遍历可交互控件的界面,重复S4-S9,直到待测软件的所有界面中的所有可交互控件全部被标注。
2.根据权利要求1所述的基于控件功能标注的移动端自动化软件测试方法,其特征在于构造对应的特征字符串的方法包括:从通过S1获取的控件结构中最深子节点对应的可交互控件开始,对同层的节点进行递归遍历,对于所遇到的每个可交互控件,提取出当前控件的index属性,resource-id属性和class属性进行拼接,组成对应的特征字符串;
在同层的所有节点遍历完成之后,递归遍历父节点所在的层次,直到遍历完所有的节点为止,其中父节点对应的可交互控件的特征字符串为左孩子特征字符串与右孩子特征字符串的拼接。
3.根据权利要求1所述的基于控件功能标注的移动端自动化软件测试方法,其特征在于:每次对S5选取的可交互控件进行模拟用户点击输入后,采用弹性延迟适配机制延迟指定时间,再执行S6-S9进行标注。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011014912.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于声呐点云数据的桩体间距离迭代确定方法
- 下一篇:一种煤矿开采用湿式喷浆机