一种移动应用Activity页面全遍历的测试方法与流程

文档序号:26539121发布日期:2021-09-07 21:00阅读:54来源:国知局
一种移动应用Activity页面全遍历的测试方法与流程
一种移动应用activity页面全遍历的测试方法
技术领域
1.本发明涉及信息安全和移动安全应用技术领域,具体为一种移动应用activity页面全遍历的测试方法。


背景技术:

2.随着科技的发展,大量的移动app投入市场,广泛地应用于社会生活的各个领域。在移动app的软件测试领域,怎样避免繁琐的重复劳动,以节省时间,降低成本已成为企业研发面临的一大难题,自动化测试技术可以有效地提高软件测试效率,加速软件的开发和版本的迭代,而在现有的移动应用测试中,应用的界面测试大致有以下两种表现形式:一是通过编写脚本程序,让脚本程序按指定的顺序去执行页面操作,从而达到测试某条路径的目的,由于脚本的运行是在已知界面点击指定控件,有很高的准确性,但这种需要针对每个应用进行编写脚本程序,兼容性极差,此外,这种方式的可迁移性低、复用性差。二是利用一些开源测试工具如monkey,这种工具的特点是不再像脚本那样过度依赖界面,能在任意应用甚至跨应用运行,其主要的操作在页面中进行随机的点击,兼容性高,复用性强。但是,由于测试工具是随机的在界面中点击,准确度和覆盖率就很难有所保证,所以需要有一种能够遍历移动应用activity页面的全遍历测试技术。


技术实现要素:

3.本发明的目的在于提供一种移动应用activity页面全遍历的测试方法,以解决上述背景技术中提出的问题。
4.为实现上述目的,本发明提供如下技术方案:一种移动应用activity页面全遍历的测试方法,包括如下步骤:
5.s1,获取到需要分析的样本;
6.s2,安装到目标机器上;
7.s3,通过解析样本中androidmanifest.xml配置文件,获取activity节点中android:name属性值,并存储,并获取android:exported值,判断组件是否导出;
8.s4,对于导出组件即android:exported=”true”的组件,使用普通权限通过am start packagename/activityname命令即可直接启动组件;
9.s5,对于未导出的组件,在api<=19的机器上仍然可以通过步骤s4进行启动,对于api>19的机器上,可以在相应权限下通过am start packagename/activityname命令即可直接启动组件;
10.s6,通过步骤s4和步骤s5,对步骤s3解析到的组件进行遍历,即可全部遍历页面。
11.优选的,所述步骤s4中的普通权限为hell(uid=2000)权限或者用户权限(uid>2000)。
12.优选的,所述步骤s5中的相应权限为root(uid=0)或者system(uid=1000)权限。
13.与现有技术相比,本发明的有益效果是:
14.本发明,提供的方法针对移动app自动化测试进行全页面遍历:兼容性高、复用度强,可针对所有的移动应用进行全页面遍历;可对未导出activity页面进行遍历;可全自动化进行activity页面遍历。
附图说明
15.图1是本发明的流程图。
具体实施方式
16.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
17.请参阅图1,本发明提供一种技术方案:一种移动应用activity页面全遍历的测试方法,包括如下步骤:
18.s1,获取到需要分析的样本;
19.s2,安装到目标机器上。
20.s3,通过解析样本中androidmanifest.xml配置文件,获取activity节点中android:name属性值,并存储,并获取android:exported值,判断组件是否导出。
21.s4,对于导出组件即android:exported=”true”的组件,使用普通权限即shell(uid=2000)权限或者用户权限(uid>2000)通过am start packagename/activityname命令即可直接启动组件。
22.s5,对于未导出的组件,在api<=19的机器上仍然可以通过步骤四进行启动,对于api>19的机器上,可以在root(uid=0)、system(uid=1000)权限下通过am start packagename/activityname命令即可直接启动组件
23.s6,通过步骤s4和步骤s5步骤,对步骤s3解析到的组件进行遍历,即可全部遍历页面。
24.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。


技术特征:
1.一种移动应用activity页面全遍历的测试方法,其特征在于包括如下步骤:s1,获取到需要分析的样本;s2,安装到目标机器上;s3,通过解析样本中androidmanifest.xml配置文件,获取activity节点中android:name属性值,并存储,并获取android:exported值,判断组件是否导出;s4,对于导出组件即android:exported=”true”的组件,使用普通权限通过am start packagename/activityname命令即可直接启动组件;s5,对于未导出的组件,在api<=19的机器上仍然可以通过步骤s4进行启动,对于api>19的机器上,可以在相应权限下通过am start packagename/activityname命令即可直接启动组件;s6,通过步骤s4和步骤s5,对步骤s3解析到的组件进行遍历,即可全部遍历页面。2.根据权利要求1所述的一种移动应用activity页面全遍历的测试方法,其特征在于:所述步骤s4中的普通权限为hell(uid=2000)权限或者用户权限(uid>2000)。3.根据权利要求1所述的一种移动应用activity页面全遍历的测试方法,其特征在于:所述步骤s5中的相应权限为root(uid=0)或者system(uid=1000)权限。

技术总结
本发明公开了一种移动应用Activity页面全遍历的测试方法,包括如下步骤:S1,获取到需要分析的样本;S2,安装到目标机器上;S3,通过解析样本中AndroidMan i fest.xml配置文件,获取activity节点中android:name属性值,并存储,并获取android:exported值,判断组件是否导出;S4,对于导出组件即android:exported=”true”的组件,使用普通权限通过am start PackageName/ActivityName命令即可直接启动组件;S5,对于未导出的组件,在API<=19的机器上仍然可以通过步骤S4进行启动,对于API>19的机器上,可以在相应权限下通过am start PackageName/ActivityName命令即可直接启动组件;S6,通过步骤S4和步骤S5,对步骤S3解析到的组件进行遍历,即可全部遍历页面。本发明,提供的方法针对移动APP自动化测试进行全页面遍历:兼容性高、复用度强。复用度强。复用度强。


技术研发人员:龙柏林
受保护的技术使用者:上海蛮犀科技有限公司
技术研发日:2021.05.26
技术公布日:2021/9/6
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1