用户界面单元测试方法、装置、可读存储介质及设备制造方法及图纸

技术编号:17196253 阅读:17 留言:0更新日期:2018-02-03 22:54
本发明专利技术涉及软件测试技术领域,尤其涉及用户界面单元测试方法、装置、可读存储介质及设备,所述方法包括:获取输入的查找数据对象的哈希值;在列表绑定数据集中查找与所述哈希值匹配的元素,并将查找到的与所述哈希值匹配的元素确定为目标对象;将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配,获得匹配结果,其中,所述列表绑定数据集为所述原始列表数据集经克隆后得到的数据集;将所述匹配结果作为用户界面单元测试结果进行输出。本申请可有效解决RecyclerView因没有明确的索引值而出现的匹配错位的问题,提高了匹配的准确性。

【技术实现步骤摘要】
用户界面单元测试方法、装置、可读存储介质及设备
本专利技术涉及软件测试
,尤其涉及用户界面单元测试方法、装置、可读存储介质及设备。
技术介绍
安卓(Android)系统的单元测试包含用户界面(UI)单元测试与Java单元测试。其中,UI单元测试由于需要依赖屏幕压力传感器,因此需要在真机上进行测试,而,Java单元测试由于是运行纯Java代码不依赖任何其他组件,因此只需要在虚拟机(JVM)上运行即可。对于UI单元测试而言,列表型UI单元测试约占整个UI单元测试量的30%。目前,列表型UI单元测试的测试操作包括:单击(SingleClick)、双击(DoubleClick)、长按(LongPress)和滑动(slide),这些测试操作必须指定操作对象,即列表条目(ListItem),因此,如何精确且快速的查找到ListItem是列表型控件UI单元测试的技术难点。而,在现有技术中,对于列表型控件UI单元测试而言,Item匹配规则主要由系统提供的匹配器(Matcher)来进行指定,其原理是:在先提供Item对应的列表索引值(index),然后由Matcher根据index进行查找,进而实现匹配测试,但是,对于可回收性列表控件(RecyclerView)而言,由于其列表的Item没有明确的索引值,若在RecyclerView中应用上述方法,将出现匹配错位的问题。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的用户界面单元测试方法、装置、可读存储介质及设备。本专利技术实施例提供一种用户界面单元测试方法,所述方法包括:获取输入的查找数据对象的哈希值;在列表绑定数据集中查找与所述哈希值匹配的元素,并将查找到的与所述哈希值匹配的元素确定为目标对象;将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配,获得匹配结果,其中,所述列表绑定数据集为所述原始列表数据集经克隆后得到的数据集;将所述匹配结果作为用户界面单元测试结果进行输出。优选的,在所述将查找到的与所述哈希值匹配的元素确定为目标对象之后,且在所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配之前,所述方法还包括:判断所述目标对象的类型与所述列表绑定数据集的类型是否相同;若所述目标对象的类型与所述列表绑定数据集的类型相同,则执行所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配的步骤,否则,将匹配失败作为所述用户界面单元测试结果进行输出。优选的,在所述将查找到的与所述哈希值匹配的元素确定为目标对象之后,且在所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配之前,所述方法还包括:判断所述目标对象的布局标识是否合法;若所述目标对象的布局标识合法,则遍历布局标识常量文件,判断是否存在与所述目标对象的布局标识相同的布局标识;若存在,则基于与所述目标对象对应的列表布局标识,确定出与所述目标对象对应的列表,并,基于与所述目标对象对应的列表执行所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配的步骤;若不存在,则直接执行所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配的步骤;若所述目标对象的布局标识不合法,则将匹配失败作为所述用户界面单元测试结果进行输出。优选的,所述判断所述目标对象的布局标识是否合法,包括:判断所述目标对象的布局标识是否属于8位十六进制整型;其中,若所述目标对象的布局标识属于8位十六进制整型,则表明所述目标对象的布局标识合法,若所述目标对象的布局标识不属于8位十六进制整型,则表明所述目标对象的布局标识不合法。优选的,所述在列表绑定数据集中查找与所述哈希值匹配的元素,包括:以所述列表绑定数据集的中间元素所在位置为起始查找位置,向所述列表绑定数据集两侧的元素展开,查找与所述哈希值匹配的元素。优选的,所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配,包括:利用CFPM算法将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配。本专利技术实施例还提供一种用户界面单元测试装置,所述装置包括:获取模块,用于获取输入的查找数据对象的哈希值;查找模块,用于在列表绑定数据集中查找与所述哈希值匹配的元素,并将查找到的与所述哈希值匹配的元素确定为目标对象;匹配模块,用于将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配,获得匹配结果,其中,所述列表绑定数据集为所述原始列表数据集经克隆后得到的数据集;输出模块,用于将所述匹配结果作为用户界面单元测试结果进行输出。优选的,所述装置还包括:第一判断模块,用于判断所述目标对象的类型与所述列表绑定数据集的类型是否相同;第一执行模块,用于若所述目标对象的类型与所述列表绑定数据集的类型相同,则执行所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配的步骤,否则,将匹配失败作为所述用户界面单元测试结果进行输出。本专利技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:获取输入的查找数据对象的哈希值;在列表绑定数据集中查找与所述哈希值匹配的元素,并将查找到的与所述哈希值匹配的元素确定为目标对象;将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配,获得匹配结果,其中,所述列表绑定数据集为所述原始列表数据集经克隆后得到的数据集;将所述匹配结果作为用户界面单元测试结果进行输出。本专利技术实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:获取输入的查找数据对象的哈希值;在列表绑定数据集中查找与所述哈希值匹配的元素,并将查找到的与所述哈希值匹配的元素确定为目标对象;将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配,获得匹配结果,其中,所述列表绑定数据集为所述原始列表数据集经克隆后得到的数据集;将所述匹配结果作为用户界面单元测试结果进行输出。本专利技术实施例中的一个或多个技术方案,至少具有如下技术效果或优点:本申请利用输入的查找数据对象的哈希值作为查询输入条件,在列表绑定数据集中查找与哈希值匹配的元素,并将查找到的与哈希值匹配的元素确定为目标对象,在将目标对象在原始列表数据集中的原集合数据与目标对象在列表绑定数据集中的绑定数据进行匹配,并将匹配结果作为用户界面单元测试结果进行输出,由于哈希值的唯一性,可有效解决RecyclerView因没有明确的索引值而出现的匹配错位的问题,提高了匹配的准确性。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实本文档来自技高网...
用户界面单元测试方法、装置、可读存储介质及设备

【技术保护点】
一种用户界面单元测试方法,其特征在于,所述方法包括:获取输入的查找数据对象的哈希值;在列表绑定数据集中查找与所述哈希值匹配的元素,并将查找到的与所述哈希值匹配的元素确定为目标对象;将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配,获得匹配结果,其中,所述列表绑定数据集为所述原始列表数据集经克隆后得到的数据集;将所述匹配结果作为用户界面单元测试结果进行输出。

【技术特征摘要】
1.一种用户界面单元测试方法,其特征在于,所述方法包括:获取输入的查找数据对象的哈希值;在列表绑定数据集中查找与所述哈希值匹配的元素,并将查找到的与所述哈希值匹配的元素确定为目标对象;将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配,获得匹配结果,其中,所述列表绑定数据集为所述原始列表数据集经克隆后得到的数据集;将所述匹配结果作为用户界面单元测试结果进行输出。2.如权利要求1所述的方法,其特征在于,在所述将查找到的与所述哈希值匹配的元素确定为目标对象之后,且在所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配之前,所述方法还包括:判断所述目标对象的类型与所述列表绑定数据集的类型是否相同;若所述目标对象的类型与所述列表绑定数据集的类型相同,则执行所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配的步骤,否则,将匹配失败作为所述用户界面单元测试结果进行输出。3.如权利要求1所述的方法,其特征在于,在所述将查找到的与所述哈希值匹配的元素确定为目标对象之后,且在所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配之前,所述方法还包括:判断所述目标对象的布局标识是否合法;若所述目标对象的布局标识合法,则遍历布局标识常量文件,判断是否存在与所述目标对象的布局标识相同的布局标识;若存在,则基于与所述目标对象对应的列表布局标识,确定出与所述目标对象对应的列表,并,基于与所述目标对象对应的列表执行所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配的步骤;若不存在,则直接执行所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配的步骤;若所述目标对象的布局标识不合法,则将匹配失败作为所述用户界面单元测试结果进行输出。4.如权利要求3所述的方法,其特征在于,所述判断所述目标对象的布局标识是否合法,包括:判断所述目标对象的布局标识是否属于8位十六进制整型;其中,若所述目标对象的布局标识属于8位十六进制整型,则表明所述目标对象的布局标识合法,若所述目标对象的布局标识不属于8位十六进制整型,则表明所述目标对象的布局标识不合法。5.如权利要求1所述的方法,其特征在于,所述在列表绑定数据集中查找与所述哈希值匹配的元素,包括:以所述列表绑定数据集...

【专利技术属性】
技术研发人员:尹成陈少杰张文明
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1