[发明专利]基于Appium的安卓应用自动化触发执行方法在审
申请号: | 201810271904.6 | 申请日: | 2018-03-29 |
公开(公告)号: | CN108829389A | 公开(公告)日: | 2018-11-16 |
发明(设计)人: | 宋虹;王焱景;朱双 | 申请(专利权)人: | 中南大学 |
主分类号: | G06F8/38 | 分类号: | G06F8/38;G06F9/451 |
代理公司: | 长沙永星专利商标事务所(普通合伙) 43001 | 代理人: | 周咏;米中业 |
地址: | 410083 *** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 触发 应用 模拟操作 自动化 控件元素 启动参数 唯一标识 应用程序 遍历 压栈 算法 存储 覆盖率 输出 | ||
本发明公开了一种基于Appium的安卓应用自动化触发执行方法,包括获取待执行安卓应用程序的全部Activity组件名称并生成启动参数文件并启动执行;获取待执行安卓应用的GUI信息及控件元素的信息并生成唯一标识;生成待执行应用的模拟操作事件并压栈存储;执行模拟操作事件;输出遍历结果。本发明本发明方法能够自动对安卓应用进行自动化触发执行,而且算法科学可靠,Activity组件的覆盖率极高。
技术领域
本发明具体涉及一种基于Appium的安卓应用自动化触发执行方法。
背景技术
随着移动互联网向交通、支付、教育、医疗等诸多领域的渗透,搭载安卓(Android)系统的智能移动终端的普及,Andorid应用在生活中起到越来越重要的作用。然而,Android应用良莠不齐,有许多质量偏低甚至携带恶意行为的 Android应用存在。
如果需要对携带恶意行为的Android应用进行鉴别,运行安卓应用并根据该安卓应用的具体行为特征进行鉴别是较为可靠的手段之一。但是,如果进行人工鉴别,则需要人工首先下载并安装该安卓应用,然后人工测试该安卓应用的所有动作并进行鉴别。但是,人工检测不仅费时费力,而且极易造成漏检等行为。
为了更好的对安卓应用进行测试,近年来很多学者针对Android应用测试进行了大量研究工作,而Android应用自动化触发执行方法的研究就是其中的一个重要方向。目前的Android应用自动化触发执行方法仅针对简单的原生控件进行单个控件的自动触发,如按钮控件Button、文本控件TextView、图片控件 ImageView等,并没有考虑其他控件的自动化触发执行及控件之间的关联关系,如混合应用所用到的网页视图控件WebView中可触发的非Android原生控件、列表控件ListView的每个Item及其内部控件都是可触发执行的,编辑控件 EditText输入的测试数据是与其他关联控件的语义有关联的等;另外,由于待执行应用中Activity组件关系图的是森林,单次图形用户界面(GUI)控件触发并不能覆盖所有Activity组件,造成Activity组件覆盖率低的问题。
发明内容
本发明的目的在于提供一种能够自动对安卓应用进行自动化触发执行的基于Appium的安卓应用自动化触发执行方法。
本发明提供的这种基于Appium的安卓应用自动化触发执行方法,包括如下步骤:
S1.获取待执行Android应用程序的全部Activity组件名称并生成启动参数文件,将待执行Android应用程序在Appium框架下自动启动执行;
S2.获取待执行Android应用的GUI信息及控件元素的信息,并生成GUI 唯一标识;
S3.动态生成待执行应用的模拟操作事件,并进行压栈存储;
S4.在Appium框架下按照深度遍历算法依次执行步骤S3得到的模拟操作事件,从而对待执行应用进行自动触发测试;
S5.输出遍历结果,从而完成安卓应用的自动化触发执行。
步骤S1所述的获取全部Activity组件名称、生成启动参数文件并自动启动执行Android应用程序,具体包括如下步骤:
A.获取待执行应用内含有的Activity组件,存入自定义的ActivityList数据结构中;
B.配置应用启动与动态执行过程中需要的信息,并启动安卓应用自动执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中南大学,未经中南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810271904.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种界面展示的处理方法及系统
- 下一篇:一种软件主界面框架设计方法