[发明专利]一种基于adb的测试驱动系统、方法及存储介质有效
申请号: | 202011392334.X | 申请日: | 2020-12-01 |
公开(公告)号: | CN112463613B | 公开(公告)日: | 2023-09-15 |
发明(设计)人: | 唐涛;陈龙;洪飞龙 | 申请(专利权)人: | 广州朗国电子科技股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 广州市专注鱼专利代理有限公司 44456 | 代理人: | 凌霄汉 |
地址: | 510000 广东省广州市黄埔区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 adb 测试 驱动 系统 方法 存储 介质 | ||
本发明提供一种基于adb的测试驱动系统、方法及存储介质,其中方法包括:查找目标控件;使用元素对应的方法进行用户操作模拟;使用Python单元测试框架实现用例管理和结果断言。本发明的基于adb的测试驱动系统,其测试框架是基于python开发的库,只需要一个python就可以直接编写测试脚本测试运行,不需要安装和配置复杂的环境,能和安卓系统进行很好的衔接,有很好的适用性。
技术领域
本发明涉及Android(安卓系统)的测试技术领域,特别涉及一种基于adb的测试驱动系统、方法及存储介质。
背景技术
现有的对安卓系统的测试框架不能很全面的进行测试,要么对安卓系统依赖很强,要么笨重不够灵活。如Robotium,Robotium是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击、长按、滑动等)、查找和断言机制的API,能够对各种控件进行操作。Robotium需要在应用内部编写测试代码,是集成在应用里面的。再比如Appium,Appium是一个开源、跨平台的测试框架,可以用来测试原生及混合的移动端应用。Appium配置环境非常繁杂,需要安装安卓SDK、JDK。综上所述,现有的对安卓系统的测试框架,不能和安卓系统进行很好的衔接,系统操作能力弱。
发明内容
本发明的目的是提供一种基于adb的测试驱动系统、方法及存储介质,可以解决现有的测试框架对安卓系统依赖性高,不能和安卓系统进行很好的衔接的问题。
本发明的目的是通过以下技术方案实现的:
第一方面,本发明提供一种基于adb的测试驱动系统,包括元素控件查找模块、用户事件输入模块、测试辅助模块和系统操作模块,其中:
元素控件查找模块,通过元素控件查找API与待测安卓系统连接,主要通过封装使用os模块的popen方法调用uiautomator、screencap和adb pull命令来实现元素树获取、屏幕截图获取,然后通过Python封装成所需的接口函数对外提供服务;
用户事件输入模块,通过用户事件输入API与被测安卓系统连接,主要通过封装使用os模块的popen方法调用input命令以及自定义的命令工具来实现用户事件输入接口函数;
测试辅助模块,通过测试辅助API与被测安卓系统连接,主要通过封装使用os模块的popen方法调用logcat、am、pm等命令,结合元素控件查找API实现相应的接口函数;
系统操作模块,通过系统操作API与被测安卓系统连接,主要通过封装使用os模块的popen方法调用svc、getprop、setprop、settings、ime、wm、screencap、自定义命令命令来实现相应的接口函数。
第二方面,本发明提供一种基于adb的测试驱动方法,包括以下步骤:
步骤1、查找目标控件;
步骤2、使用元素对应的方法进行用户操作模拟;
步骤3、使用Python单元测试框架实现用例管理和结果断言。
进一步的,所述的结果断言的实现方法为:引用python内置的assert实现结果判断,通过判断是否存在某一控件是否存在或控件文本是否存在来实现。
进一步的,所述的查找目标控件的方法为:实例化一个测试驱动类为设备实例,使用设备实例下面的方法来进行元素定位。
第三方面,本发明提供一种存储介质,所述的存储介质中存储有计算机程序,运行该计算机程序,可以执行上述基于adb的测试驱动方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州朗国电子科技股份有限公司,未经广州朗国电子科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011392334.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种医用湿巾生产工艺
- 下一篇:一种外墙保温空鼓脱落修缮方法