android开发自制计算器测试图,基于uiautomator测试框架的计算器自动化测试方法和测试系统的制作方法...

基于uiautomator测试框架的计算器自动化测试方法和测试系统的制作方法

【技术领域】

[0001]本发明涉及自动化测试技术领域,特别是一种基于uiautomator测试框架的计算器自动化测试方法及其应用该方法的系统。

【背景技术】

[0002]自动化测试具有节省人力、时间、硬件资源、提高工作效率与判断精准性等优点,因此,在传统手工测试的基础上,自动化测试正被逐渐地引入到移动终端APP的测试工作中。以手机计算器为例,目前主流的自动化测试方法有基于Robotium框架下的自动化测试,其首先将应用界面进行分层,根据对应的各项功能调用Robotium中的solo方法进行编码并编译为可执行脚本,将其导入测试机中,启动自动化测试;然后根据各项功能的测试设置判断点,调用截屏函数对测试结果进行截图;最后将获取到的截图与预期结果进行比对验证,输出测试报告;但是该方法对测试结果的判别是通过调用截屏函数对计算结果进行截图后在后期再人为比对判别的,效率低、不易大量、重复地进行测试以保证软件的稳定性。

【发明内容】

[0003]本发明为解决上述问题,提供了一种基于uiautomator测试框架的计算器自动化测试方法和测试系统,能够对手机计算器进行自动计算和自动判别结果。

[0004]为实现上述目的,本发明采用的技术方案为:

[0005]—种基于uiautomator测试框架的计算器自动化测试方法,其包括以下步骤:

[0006]10.获取待测试项目所对应的计算器界面的控件属性;

[0007]20.利用所述的控件属性定位出待测试的控件元素;

[0008]30.在uiautomator测试框架下,将所述的控件元素封装为可唯一识别的组件对象;

[0009]40.将所述的组件对象进行编码,并根据待测试项目编译为可执行脚本;

[0010]50.启动所述的可执行脚本进行自动化测试。

[0011]优选的,所述的步骤10中获取待测试项目所对应的计算器界面的控件属性,是通Suiautomatorviewer工具来获取计算器的待测试项目所对应的各个界面上的所有控件属性。

[0012]优选的,所述的步骤20中利用所述的控件属性定位出待测试的控件元素,是根据所述的控件属性通过标签搜索的方式对待测试的控件元素进行识别和定位,每个控件元素设置有对应的控件属性和识别标签。

[0013]优选的,所述的步骤30中将所述的控件元素封装为可唯一识别的组件对象,是将所述的控件元素的控件名称、控件区域、控件注释信息以及控件内部属性进行封装为可唯一识别的组件对象。

[0014]优选的,所述的步骤40中,将所述的组件对象进行编码后,根据待测试项目的测试步骤和测试循环次数进行编译为可执行脚本。

[0015]优选的,所述的计算器的待测试项目包括以下的一种或一种以上的组合:计算器面板按键的映射测试、数据显示栏的显示测试、查看和清除计算历史记录的测试、普通面板与基本运算功能的测试、科学面板与特殊运算功能的测试。

[0016]优选的,所述的步骤50中进行自动化测试过程中,进行自动计算、自动获取计算结果、自动判断测试结果,并根据预设的循环次数进行自动循环测试,最后生成测试报告。

[0017]优选的,所述的步骤30中将所述的控件元素封装为可唯一识别的组件对象,并直接获取用于识别该组件对象的字符串,在自动化测试过程中,通过将该组件对象的字符串与预设的字符串进行对比来进行测试结果的判断。

[0018]另外,本发明还提供了一种基于uiautomator测试框架的计算器自动化测试系统,其包括:

[0019]控件属性获取模块,用于获取待测试项目所对应的计算器界面的控件属性;

[0020]控件元素定位模块,其利用所述的控件属性定位出待测试的控件元素;

[0021]组件对象封装模块,其在uiautomator测试框架下,将所述的控件元素封装为可唯一识别的组件对象;

[0022]脚步编译模块,其将所述的组件对象进行编码,并根据待测试项目编译为可执行脚本;

[0023]自动化测试模块,用于启动所述的可执行脚本进行自动化测试。

[0024]优选的,所述的组件对象封装模块将所述的控件元素封装为可唯一识别的组件对象,并直接获取用于识别该组件对象的字符串,在调用自动化测试模块进行自动化测试过程中,通过将该组件对象的字符串与预设的字符串进行对比来进行测试结果的判断。

[0025]本发明的有益效果是:

[0026](I)、能够对手机计算器进行自动计算、自动判别结果、可重复执行测试,保证测试高效、充分的进行,能够更好地发现潜在的漏洞;

[0027](2)、采用uiautomator测试框架,测试范围更广,操作更方便:

[0028]a、现有技术采用Robotium测试框架只能针对某个特定的apk进行独立测试,工作范围具有局限性;本发明采用uiautomator测试框架可以对整个系统的所有操作进行自动化测试,测试范围更广;

[0029]b、现有技术中使用Robotium框架在模拟器或者真机上进行测试时,必须将测试包和被测试包改成相同的签名,这一过程涉及到重签名等操作;并且Robotium调用截屏函数还需要一个前提条件:要在被测应用的AndroidManifest.xml中添加对SD卡的读写权限;本发明采用uiautomator框架则无需如此复杂的前提操作与限制,操作更方便;

[0030](3)、现有技术中对计算结果的判断是调用截屏函数对测试关键点进行截图,再通过后期的人工比对进行判断;本发明通过将所述的控件元素封装为可唯一识别的组件对象,并直接获取用于识别该组件对象的字符串,在自动化测试过程中,通过将该组件对象的字符串与预设的字符串进行对比来进行测试结果的判断,无需人工干预,真正实现自动化测试,且测试过程不占用额外存储容量;

[0031 ] (4)、本发明将所述的控件元素的控件名称、控件区域、控件注释信息以及控件内部属性进行封装为可唯一识别的组件对象,其封装的信息更丰富,识别性更好。

【附图说明】

[0032]此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

[0033]图1为本发明计算器自动化测试方法的流程简图;

[0034]图2为本发明计算器自动化测试系统的结构示意图。

【具体实施方式】

[0035]为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

[0036]如图1所示,本发明的一种基于uiautomator测试框架的计算器自动化测试方法,其包括以下步骤:

[0037]10.获取待测试项目所对应的计算器界面的控件属性;

[0038]20.利用所述的控件属性定位出待测试的控件元素;

[0039]30.在uiautomator测试框架下,将所述的控件元素封装为可唯一识别的组件对象;

[0040]40.将所述的组件对象进行编码,并根据待测试项目编译为可执行脚本;

[0041]50.启动所述的可执行脚本进行自动化测试。

[0042]所述的步骤10中获取待测试项目所对应的计算器界面的控件属性,是通过uiautomatorviewer工具来获取计算器的待测试项目所对应的各个界面上的所有控件属性。

[0043]所述的步骤20中利用所述的控件属性定位出待测试的控件元素,是根据所述的控件属性通过标签搜索的方式对待测试的控件元素进行识别和定位,每个控件元素设置有对应的控件属性和识别标签。

[0044]所述的步骤30中将所述的控件元素封装为可唯一识别的组件对象(U1bject),是将所述的控件元素的控件名称(packagename)、控件区域(bounds)、控件注释信息(content-desc)以及控件内部属性进行封装为可唯一识别的组件对象;并且,通过获取用于识别该组件对象的字符串,在自动化测试过程中,通过将该组件对象的字符串与预设的字符串进行对比来进行测试结果的判断,可直接通过判断封装完之后的组件对象是否存在便可轻松实现验证。例如,长按功能的测试,现有技术中的Robotium测试框架的Solo类中没有提供长按按钮的方法,需

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值