一种针对视图页面的模拟点击测试方法和装置与流程

文档序号:32062320发布日期:2022-11-04 23:40阅读:71来源:国知局
一种针对视图页面的模拟点击测试方法和装置与流程

1.本发明涉及视图页面的模拟点击测试技术领域,特别是涉及一种针对视图页面的模拟点击测试方法、一种针对视图页面的模拟点击测试装置、一种电子设备以及一种计算机可读存储介质。


背景技术:

2.自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程,随着自动化测试技术的发展,自动化测试应用程序应运而生,例如,自动化测试程序appium,appium是当前移动平台上主流的自动化测试应用程序之一,然而,在自动化测试应用程序进行自动化测试过程中,通常会编写多个测试脚本进行主流程业务测试,在模拟点击测试时,打开子视图时常会因视图错误,卡在当前页面,导致后续流程无法继续,进而引发整体的测试中断或结果的严重偏差。


技术实现要素:

3.本发明实施例是提供一种针对视图页面的模拟点击测试方法、装置、电子设备以及计算机可读存储介质,以解决在针对视图页面的模拟点击测试过程中,当出现错误时,无法继续测试的问题。
4.本发明实施例公开了一种针对视图页面的模拟点击测试方法,其特征在于,可以包括:
5.确定目标视图页面;所述目标视图页面具有对应的子节点层级;所述子节点层级具有对应的父节点层级;所述父节点层级包括父节点层级视图页面;
6.从所述目标视图页面中确定出目标元素;
7.针对所述目标视图页面的第一测试项进行模拟点击测试,并当判定针对所述第一测试项的测试结果为错误时,返回所述父节点层级视图页面;
8.当通过所述目标元素判定所述父节点层级视图页面为与所述目标视图页面对应的目标父节点层级视图页面时,针对所述目标视图页面的第二测试项进行模拟点击测试。
9.可选地,所述方法应用于自动化应用程序中,所述自动化应用程序具有对应的远程字典服务数据库,所述从所述目标视图页面中确定出目标元素的步骤可以包括:
10.确定所述目标视图页面中的所有元素,按照预设数量从所述元素中随机确定出目标元素;所述目标元素具有对应的目标元素信息;
11.将所述目标元素信息储存至所述远程字典服务数据库中,所述目标元素信息至少包括:目标元素名称信息和目标元素路径信息。
12.可选地,在所述当通过所述目标元素判定所述父节点层级视图页面为与所述目标视图页面对应的目标父节点层级视图页面时,针对所述目标视图页面的第二测试项进行模拟点击测试的步骤之前,还可以包括:
13.通过所述目标元素判断所述父节点层级视图页面是否为与所述目标视图页面对
应的目标父节点层级视图页面;
14.所述通过所述目标元素判断所述父节点层级视图页面是否为与所述目标视图页面对应的目标父节点层级视图页面的步骤包括:
15.从所述远程字典服务数据库中提取出所述元素名称信息和所述目标元素路径信息;
16.通过所述元素名称信息和所述目标元素路径信息,确定出针对所述父节点层级视图页面的父节点层级视图页面元素;
17.判断所述父节点层级视图页面元素与所述目标元素是否相匹配。
18.可选地,所述当通过所述目标元素判定所述父节点层级视图页面为与所述目标视图页面对应的目标父节点层级视图页面时,针对所述目标视图页面的第二测试项进行模拟点击测试的步骤可以包括:
19.当所述父节点层级视图页面元素与所述目标元素相匹配时,针对所述目标视图页面的第二测试项进行模拟点击测试。
20.可选地,所述方法应用于自动化应用程序中,所述自动化应用程序具有对应的远程字典服务数据库,所述从所述目标视图页面中确定出目标元素的步骤可以包括:
21.生成针对所述目标视图页面的第一页面图片;
22.采用哈希算法生成针对所述第一页面图片的第一图片指纹码,并将所述图片第一指纹码作为目标元素储存至所述远程字典服务数据库中。
23.可选地,在所述当通过所述目标元素判定所述父节点层级视图页面为与所述目标视图页面对应的目标父节点层级视图页面时,针对所述目标视图页面的第二测试项进行模拟点击测试的步骤之前,还可以包括:
24.通过所述目标元素判断所述父节点层级视图页面是否为与所述目标视图页面对应的目标父节点层级视图页面;
25.所述通过所述目标元素判断所述父节点层级视图页面是否为与所述目标视图页面对应的目标父节点层级视图页面的步骤包括:
26.生成针对所述目标视图页面的第二页面图片;
27.采用哈希算法生成针对所述第二页面图片的第二图片指纹码;
28.从所述远程字典服务数据库中提取出所述第一指纹码;
29.判断所述第一指纹码与所述第二图片指纹码的相似度是否大于预设阈值。
30.可选地,所述当通过所述目标元素判定所述父节点层级视图页面为与所述目标视图页面对应的目标父节点层级视图页面时,针对所述目标视图页面的第二测试项进行模拟点击测试的步骤可以包括:
31.当所述第一指纹码与所述第二图片指纹码的相似度大于预设阈值时,针对所述目标视图页面的第二测试项进行模拟点击测试。
32.本发明实施例还公开了一种针对视图页面的模拟点击测试装置,其特征在于,可以包括:
33.目标视图页面确定模块,用于确定目标视图页面;所述目标视图页面具有对应的子节点层级;所述子节点层级具有对应的父节点层级;所述父节点层级包括父节点层级视图页面;
34.目标元素确定模块,用于从所述目标视图页面中确定出目标元素;
35.父节点层级视图页面返回模块,用于针对所述目标视图页面的第一测试项进行模拟点击测试,并当判定针对所述第一测试项的测试结果为错误时,返回所述父节点层级视图页面;
36.测试重启模块,用于在通过所述目标元素判定所述父节点层级视图页面为与所述目标视图页面对应的目标父节点层级视图页面时,针对所述目标视图页面的第二测试项进行模拟点击测试。
37.可选地,所述装置应用于自动化应用程序中,所述自动化应用程序具有对应的远程字典服务数据库,所述目标元素确定模块可以包括:
38.目标元素确定子模块,用于确定所述目标视图页面中的所有元素,按照预设数量从所述元素中随机确定出目标元素;所述目标元素具有对应的目标元素信息;
39.目标元素信息储存子模块,用于将所述目标元素信息储存至所述远程字典服务数据库中,所述目标元素信息至少包括:目标元素名称信息和目标元素路径信息。
40.可选地,还可以包括:
41.第一判断模块,用于通过所述目标元素判断所述父节点层级视图页面是否为与所述目标视图页面对应的目标父节点层级视图页面;
42.所述第一判断模块包括:
43.目标元素信息提取子模块,用于从所述远程字典服务数据库中提取出所述元素名称信息和所述目标元素路径信息;
44.父节点层级视图页面元素确定子模块,用于通过所述元素名称信息和所述目标元素路径信息,确定出针对所述父节点层级视图页面的父节点层级视图页面元素;
45.第一判断子模块,用于判断所述父节点层级视图页面元素与所述目标元素是否相匹配。
46.可选地,所述测试重启模块可以包括:
47.第一测试重启子模块,用于在所述父节点层级视图页面元素与所述目标元素相匹配时,针对所述目标视图页面的第二测试项进行模拟点击测试。
48.可选地,所述装置应用于自动化应用程序中,所述自动化应用程序具有对应的远程字典服务数据库,所述目标元素确定模块可以包括:
49.第一页面图片生成子模块,用于生成针对所述目标视图页面的第一页面图片;
50.第一图片指纹码生成子模块,用于采用哈希算法生成针对所述第一页面图片的第一图片指纹码,并将所述图片第一指纹码作为目标元素储存至所述远程字典服务数据库中。
51.可选地,还可以包括:
52.第二判断模块,用于通过所述目标元素判断所述父节点层级视图页面是否为与所述目标视图页面对应的目标父节点层级视图页面;
53.所述第二判断模块包括:
54.第二页面图片生成子模块,用于生成针对所述目标视图页面的第二页面图片;
55.第二图片指纹码生成子模块,用于采用哈希算法生成针对所述第二页面图片的第二图片指纹码;
56.第一指纹码提取子模块,用于从所述远程字典服务数据库中提取出所述第一指纹码;
57.第二判断子模块,用于判断所述第一指纹码与所述第二图片指纹码的相似度是否大于预设阈值。
58.可选地,所述测试重启模块可以包括:
59.第二测试重启子模块,用于在所述第一指纹码与所述第二图片指纹码的相似度大于预设阈值时,针对所述目标视图页面的第二测试项进行模拟点击测试。
60.本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
61.所述存储器,用于存放计算机程序;
62.所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。
63.本发明实施例还公开了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。
64.本发明实施例包括以下优点:
65.本发明实施例,通过确定目标视图页面;目标视图页面具有对应的子节点层级;子节点层级具有对应的父节点层级;父节点层级包括父节点层级视图页面;从目标视图页面中确定出目标元素;针对目标视图页面的第一测试项进行模拟点击测试,并当判定针对第一测试项的测试结果为错误时,返回父节点层级视图页面;当通过目标元素判定父节点层级视图页面为与目标视图页面对应的目标父节点层级视图页面时,针对目标视图页面的第二测试项进行模拟点击测试,解决了在针对视图页面的模拟点击测试过程中,当出现错误时,无法继续测试的问题,从而实现了在自动化测试中断时继续测试,进而提升了针对视图页面的模拟点击测试效率。
附图说明
66.图1是本发明实施例中提供的一种针对视图页面的模拟点击测试方法的步骤流程图;
67.图2是本发明实施例中提供的另一种针对视图页面的模拟点击测试方法的步骤流程图;
68.图3是本发明实施例中提供的一种针对视图页面的模拟点击测试装置的结构框图;
69.图4是本发明各实施例中提供的一种电子设备的硬件结构框图。
具体实施方式
70.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
71.参照图1,示出了本发明实施例中提供的一种针对视图页面的模拟点击测试方法的步骤流程图,具体可以包括如下步骤:
72.参照图1,示出了本发明实施例中提供的一种针对视图页面的模拟点击测试方法的步骤流程图,具体可以包括如下步骤:
73.步骤101,确定目标视图页面;所述目标视图页面具有对应的子节点层级;所述子节点层级具有对应的父节点层级;所述父节点层级包括父节点层级视图页面;
74.步骤102,从所述目标视图页面中确定出目标元素;
75.步骤103,针对所述目标视图页面的第一测试项进行模拟点击测试,并当判定针对所述第一测试项的测试结果为错误时,返回所述父节点层级视图页面;
76.步骤104,当通过所述目标元素判定所述父节点层级视图页面为与所述目标视图页面对应的目标父节点层级视图页面时,针对所述目标视图页面的第二测试项进行模拟点击测试。
77.在具体实现中,本发明实施例可以应用于自动化测试程序,例如,自动化测试程序appium。
78.在实际应用中,视图页面可以是应用程序中的页面,也可以是网页页面,例如,第五代超文本标记语言页面,是超文本标记语言页面html的第五个版本,简称h5页面,并且,视图页面多个视图页面成树状结构,最上层的视图页面为根视图页面,根视图页面可以包括一个或多个子视图页面,子视图页面的下层还可以包括其他子视图页面,例如,假设根视图页面为第0层,根视图页面包含了三个子视图页面,分别为视图页面a、视图页面b和视图页面c,视图页面a、视图页面b和视图页面c对应的层数为1层,视图页面a、视图页面b和视图页面c也分别具有三个子视图页面,视图页面a的子视图页面分别为,视图页面a1、视图页面a2和视图页面a3,视图页面b的子视图页面分别为,视图页面b1、视图页面b2和视图页面b3,视图页面c的子视图页面分别为,视图页面c1、视图页面c2和视图页面c3;视图页面a1、视图页面a2、视图页面a3、视图页面b1、视图页面b2、视图页面b3、视图页面c1、视图页面c2和视图页面c3对应的层数为2层。
79.本发明实施例可以先确定目标视图页面,目标视图页面具有对应的子节点层级,例如,视图页面a1、视图页面a2、视图页面a3、视图页面b1、视图页面b2、视图页面b3、视图页面c1、视图页面c2和视图页面c3对应的子节点层级为2,子节点层级具有对应的父节点层级,例如,层级2具有对应的父节点层级1,父节点层级包括父节点层级视图页面,例如,父节点层级1包含了,视图页面a、视图页面b和视图页面c。
80.在确定出目标视图页面后,本发明实施例可以从目标视图页面中确定出目标元素,在具体实现中,在目标视图页面中确定目标元素的过程也可以称为对目标视图页面进行描点,具体地,是在目标视图页面中查找出能够体现视图页面的特征元素,并且,一个子视图页面的特征元素与该子视图页面所对应的目标父节点层级视图页面具有关联关系,例如,页面中的连接数据,图标数据,特殊文本数据等等,即,本发明实施例的目标元素为与目标父节点层级视图页面具有关联关系的元素。
81.在从目标视图页面中确定出目标元素后,本发明实施例可以针对目标视图页面的第一测试项进行模拟点击测试,具体地,第一测试项可以是针对目标视图页面的多个测试项中的任一测试项,当判定针对第一测试项的测试结果为错误时,本发明可以使测试返回至父节点层级视图页面。
82.在实际应用中,相关技术因为无法判断返回的父节点层级视图页面是否为与目标
视图页面对应的目标父节点层级视图页面,例如,视图页面a、视图页面b和视图页面c对应的层数为1层,视图页面a、视图页面b和视图页面c也分别具有三个子视图页面,视图页面a的子视图页面分别为,视图页面a1、视图页面a2和视图页面a3,视图页面b的子视图页面分别为,视图页面b1、视图页面b2和视图页面b3,视图页面c的子视图页面分别为,视图页面c1、视图页面c2和视图页面c3;视图页面a1、视图页面a2、视图页面a3、视图页面b1、视图页面b2、视图页面b3、视图页面c1、视图页面c2和视图页面c3对应的层数为2层,假设目标视图页面为b2,在对b2的第一测试项进行模拟点击测试,并当判定针对第一测试项的测试结果为错误时,返回父节点层级视图页面,此时,可能返回的页面可能是a、b、c中的任一个,但事实上,与b2对应的目标父节点层级视图页面只有b,所以,只能终端测试。由上可知,本发明实施例的目标元素为与目标父节点层级视图页面具有关联关系的元素,所以,可以通过目标元素判断返回到的父节点层级视图页面是否为与目标视图页面对应的目标父节点层级视图页面,并当通过目标元素判定父节点层级视图页面为与目标视图页面对应的目标父节点层级视图页面时,针对目标视图页面的第二测试项进行模拟点击测试,第二测试项可以是针对目标视图页面的多个测试项中,除第一测试项以外的任一测试项。
83.本发明实施例,通过确定目标视图页面;目标视图页面具有对应的子节点层级;子节点层级具有对应的父节点层级;父节点层级包括父节点层级视图页面;从目标视图页面中确定出目标元素;针对目标视图页面的第一测试项进行模拟点击测试,并当判定针对第一测试项的测试结果为错误时,返回父节点层级视图页面;当通过目标元素判定父节点层级视图页面为与目标视图页面对应的目标父节点层级视图页面时,针对目标视图页面的第二测试项进行模拟点击测试,解决了在针对视图页面的模拟点击测试过程中,当出现错误时,无法继续测试的问题,从而实现了在自动化测试中断时继续测试,进而提升了针对视图页面的模拟点击测试效率。
84.在上述实施例的基础上,提出了上述实施例的变型实施例,在此需要说明的是,为了使描述简要,在变型实施例中仅描述与上述实施例的不同之处。
85.在本发明的一个可选地实施例中,所述方法应用于自动化应用程序中,所述自动化应用程序具有对应的远程字典服务数据库,所述从所述目标视图页面中确定出目标元素的步骤包括:
86.确定所述目标视图页面中的所有元素,按照预设数量从所述元素中随机确定出目标元素;所述目标元素具有对应的目标元素信息;
87.将所述目标元素信息储存至所述远程字典服务数据库中,所述目标元素信息至少包括:目标元素名称信息和目标元素路径信息。
88.在实际应用中,目标视图页面可能是内容相对简单的视图页面,所以,本发明实施例可以在目标视图页面为简单视图页面时,确定目标视图页面中的所有元素,按照预设数量从所有元素中随机确定出目标元素,在具体实现中,目标元素具有对应的目标元素信息,而目标元素信息至少包括目标元素名称信息和目标元素路径信息,本发明实施例可以将目标元素名称信息和目标元素路径信息储存至远程字典服务数据库中,以在需要通过目标元素判断父节点层级视图页面是否为与目标视图页面对应的目标父节点层级视图页面时,能够从远程字典服务数据库中调取目标元素名称信息和目标元素路径信息。
89.例如,在目标视图页面中按照预设数量随机抽取n个点的元素名称和路径,加上匹
配类型序列化成json文件保存到redis中,json文件是一种轻量级的数据交换格式。
90.在实际应用中远程字典服务数据库redis(remote dictionary server),是一个key-value存储系统。和数据库memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set
‑‑
有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了java,c/c++,c#,php,javascript,perl,object-c,python,ruby,erlang等客户端,使用很方便。
91.在本发明的一个可选地实施例中,在所述当通过所述目标元素判定所述父节点层级视图页面为与所述目标视图页面对应的目标父节点层级视图页面时,针对所述目标视图页面的第二测试项进行模拟点击测试的步骤之前,还包括:
92.通过所述目标元素判断所述父节点层级视图页面是否为与所述目标视图页面对应的目标父节点层级视图页面;
93.所述通过所述目标元素判断所述父节点层级视图页面是否为与所述目标视图页面对应的目标父节点层级视图页面的步骤包括:
94.从所述远程字典服务数据库中提取出所述元素名称信息和所述目标元素路径信息;
95.通过所述元素名称信息和所述目标元素路径信息,确定出针对所述父节点层级视图页面的父节点层级视图页面元素;
96.判断所述父节点层级视图页面元素与所述目标元素是否相匹配。
97.由上可知,为了使测试中断时能够继续测试,需要在针对目标视图页面的第二测试项进行模拟点击测试之前,通过目标元素判断父节点层级视图页面是否为与目标视图页面对应的目标父节点层级视图页面,所以,本发明实施例可以在目标视图页面为简单页面时,从远程字典服务数据库中提取出元素名称信息和所述目标元素路径信息,通过元素名称信息和目标元素路径信息,确定出针对父节点层级视图页面的父节点层级视图页面元素,然后判断父节点层级视图页面元素与目标元素是否相匹配。
98.例如,从redis中提取出n个包括特定名称的路径的元素标签,在所返回的父节点层级视图页面中通过id选择器和xpath选择器查找针对父节点层级视图页面的父节点层级视图页面元素,如果该元素标签与父节点层级视图页面元素全部匹配,则认为该父节点层级视图页面为与目标视图页面对应的目标父节点层级视图页面。
99.在本发明的一个可选地实施例中,所述当通过所述目标元素判定所述父节点层级视图页面为与所述目标视图页面对应的目标父节点层级视图页面时,针对所述目标视图页面的第二测试项进行模拟点击测试的步骤包括:
100.当所述父节点层级视图页面元素与所述目标元素相匹配时,针对所述目标视图页面的第二测试项进行模拟点击测试。
101.具体地,当父节点层级视图页面元素与目标元素相匹配时,可以认为该父节点层
级视图页面为与目标视图页面对应的目标父节点层级视图页面,所以,可以针对目标视图页面的第二测试项进行模拟点击测试。
102.本发明实施例,通过确定所述目标视图页面中的所有元素,按照预设数量从所述元素中随机确定出目标元素;所述目标元素具有对应的目标元素信息;将所述目标元素信息储存至所述远程字典服务数据库中,所述目标元素信息至少包括:目标元素名称信息和目标元素路径信息;从所述远程字典服务数据库中提取出所述元素名称信息和所述目标元素路径信息;通过所述元素名称信息和所述目标元素路径信息,确定出针对所述父节点层级视图页面的父节点层级视图页面元素;判断所述父节点层级视图页面元素与所述目标元素是否相匹配;当所述父节点层级视图页面元素与所述目标元素相匹配时,针对所述目标视图页面的第二测试项进行模拟点击测试,从而实现了在目标视图页面为简单页面时,既解决了在针对视图页面的模拟点击测试过程中,当出现错误时,无法继续测试的问题,同时,也简化了确定目标元素的过程,从而更进一步地提升了针对视图页面的模拟点击测试效率。
103.在本发明的一个可选地实施例中,所述方法应用于自动化应用程序中,所述自动化应用程序具有对应的远程字典服务数据库,所述从所述目标视图页面中确定出目标元素的步骤包括:
104.生成针对所述目标视图页面的第一页面图片;
105.采用哈希算法生成针对所述第一页面图片的第一图片指纹码,并将所述图片第一指纹码作为目标元素储存至所述远程字典服务数据库中。
106.在实际应用中,目标视图页面可能是内容相对复杂的视图页面,所以,本发明实施例可以生成针对目标视图页面的第一页面图片,并采用哈希算法生成针对第一页面图片的第一图片指纹码,并将图片第一指纹码作为目标元素储存至远程字典服务数据库中。
107.例如,把目标视图页面采取拍屏的方式保存成图片,利用感知哈希算法将图片尺寸缩小至32*32,通过调整图片灰度简化色彩,对图像进行dct变换计算平均值,最后通过计算哈希值的方式将图片转换成二进制的图片指纹码,连同匹配类型一起存储到redis中。
108.在本发明的一个可选地实施例中,在所述当通过所述目标元素判定所述父节点层级视图页面为与所述目标视图页面对应的目标父节点层级视图页面时,针对所述目标视图页面的第二测试项进行模拟点击测试的步骤之前,还包括:
109.通过所述目标元素判断所述父节点层级视图页面是否为与所述目标视图页面对应的目标父节点层级视图页面;
110.所述通过所述目标元素判断所述父节点层级视图页面是否为与所述目标视图页面对应的目标父节点层级视图页面的步骤包括:
111.生成针对所述目标视图页面的第二页面图片;
112.采用哈希算法生成针对所述第二页面图片的第二图片指纹码;
113.从所述远程字典服务数据库中提取出所述第一指纹码;
114.判断所述第一指纹码与所述第二图片指纹码的相似度是否大于预设阈值。
115.由上可知,为了使测试中断时能够继续测试,需要在针对目标视图页面的第二测试项进行模拟点击测试之前,通过目标元素判断父节点层级视图页面是否为与目标视图页面对应的目标父节点层级视图页面,所以,
116.本发明实施例可以在目标视图页面为复杂页面时,生成针对目标视图页面的第二页面图片,采用哈希算法生成针对第二页面图片的第二图片指纹码,从远程字典服务数据库中提取出第一指纹码,判断第一指纹码与第二图片指纹码的相似度是否大于预设阈值。
117.例如,利用appium对父节点层级视图页面进行屏幕拍屏操作,生成针对父节点层级视图页面的图片,并通过感知哈希算法的方式构建针对父节点层级视图页面的图片指纹,通过两个图片指纹来识别图片的相似度,根据实际情况,当相似度满足预设阈值时,则认为该父节点层级视图页面为与目标视图页面对应的目标父节点层级视图页面。
118.在本发明的一个可选地实施例中,所述当通过所述目标元素判定所述父节点层级视图页面为与所述目标视图页面对应的目标父节点层级视图页面时,针对所述目标视图页面的第二测试项进行模拟点击测试的步骤包括:
119.当所述第一指纹码与所述第二图片指纹码的相似度大于预设阈值时,针对所述目标视图页面的第二测试项进行模拟点击测试。
120.具体地,当第一指纹码与第二图片指纹码的相似度大于预设阈值时,可以认为该父节点层级视图页面为与目标视图页面对应的目标父节点层级视图页面,所以,可以针对目标视图页面的第二测试项进行模拟点击测试。
121.本发明实施例,通过生成针对所述目标视图页面的第一页面图片;采用哈希算法生成针对所述第一页面图片的第一图片指纹码,并将所述图片第一指纹码作为目标元素储存至所述远程字典服务数据库中;通过所述目标元素判断所述父节点层级视图页面是否为与所述目标视图页面对应的目标父节点层级视图页面;生成针对所述目标视图页面的第二页面图片;采用哈希算法生成针对所述第二页面图片的第二图片指纹码;从所述远程字典服务数据库中提取出所述第一指纹码;判断所述第一指纹码与所述第二图片指纹码的相似度是否大于预设阈值;当所述第一指纹码与所述第二图片指纹码的相似度大于预设阈值时,针对所述目标视图页面的第二测试项进行模拟点击测试,从而实现了在目标视图页面为复杂页面时,既解决了在针对视图页面的模拟点击测试过程中,当出现错误时,无法继续测试的问题,同时,也简化了确定目标元素的过程,从而更进一步地提升了针对视图页面的模拟点击测试效率。
122.为使本领域技术人员更好的理解本发明实施例,以下用一完整示例对本发明实施例进行说明。
123.参考图2,图2是本发明实施例中提供的另一种针对视图页面的模拟点击测试方法的步骤流程图。
124.1、从目标视图页面中确定出目标元素:
125.针对简单视图,可以采用均匀的多点位元素信息抽取签名的方式保存,即在目标视图页面中按照预设数量随机抽取n个点的元素名称和路径,加上匹配类型序列化成json文件保存到redis中,json文件是一种轻量级的数据交换格式。
126.针对复杂视图和相似视图,可把目标视图页面采取拍屏的方式保存成图片,利用感知哈希算法将图片尺寸缩小至32*32,通过调整图片灰度简化色彩,对图像进行dct变换计算平均值,最后通过计算哈希值的方式将图片转换成二进制的图片指纹码,连同匹配类型一起存储到redis中。
127.2、对目标视图页面进行模拟点击测试时,从redis中提取目标视图页面的目标元
素,如遇目标视图页面无法正常展示引发的异常中断后,可以将中断错误信息写入到日志中,并根据视图类型为原生应用程序或嵌入h5采用一次或者多次的回退操作,强行回退到上一个位于父节点层级的父节点层级视图页面中,并根据获取到的目标元素对当前视图进行目标元素匹配,如匹配正确,跳过当前异常继续测试流程,最后将错误信息输出,用于问题排查,目标元素匹配则根据传入的目标元素的匹配类型进行操作,如目标元素的匹配类型为元素名称信息和目标元素路径信息,则取出描点数据的n个包括特定名称的路径的元素标签,在所返回的页面中直接根据id选择器和xpath选择器查找元素,如果全部匹配到则认为该父节点层级视图页面为与目标视图页面对应的目标父节点层级视图页面,进行下一步测试;如果目标元素的匹配类型为图片指纹码,则利用appium对父节点层级视图页面进行屏幕拍屏操作,生成针对父节点层级视图页面的图片,并通过感知哈希算法的方式构建针对父节点层级视图页面的图片指纹,通过两个图片指纹来识别图片的相似度,根据实际情况,当相似度满足预设阈值时,则认为该父节点层级视图页面为与目标视图页面对应的目标父节点层级视图页面。
128.本发明实施例可以在自动化测试中有效的避免因目标视图页面测试异常导致的整体测试中断或者结果严重偏差,及时返回到主流程,保证测试流程完整,测试结果准确,对错误日志分析,优化测试指令。
129.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
130.参照图3,示出了本发明实施例中提供的一种针对视图页面的模拟点击测试装置的结构框图,具体可以包括如下模块:
131.目标视图页面确定模块301,用于确定目标视图页面;所述目标视图页面具有对应的子节点层级;所述子节点层级具有对应的父节点层级;所述父节点层级包括父节点层级视图页面;
132.目标元素确定模块302,用于从所述目标视图页面中确定出目标元素;
133.父节点层级视图页面返回模块303,用于针对所述目标视图页面的第一测试项进行模拟点击测试,并当判定针对所述第一测试项的测试结果为错误时,返回所述父节点层级视图页面;
134.测试重启模块304,用于在通过所述目标元素判定所述父节点层级视图页面为与所述目标视图页面对应的目标父节点层级视图页面时,针对所述目标视图页面的第二测试项进行模拟点击测试。
135.可选地,所述装置应用于自动化应用程序中,所述自动化应用程序具有对应的远程字典服务数据库,所述目标元素确定模块可以包括:
136.目标元素确定子模块,用于确定所述目标视图页面中的所有元素,按照预设数量从所述元素中随机确定出目标元素;所述目标元素具有对应的目标元素信息;
137.目标元素信息储存子模块,用于将所述目标元素信息储存至所述远程字典服务数据库中,所述目标元素信息至少包括:目标元素名称信息和目标元素路径信息。
138.可选地,还可以包括:
139.第一判断模块,用于通过所述目标元素判断所述父节点层级视图页面是否为与所述目标视图页面对应的目标父节点层级视图页面;
140.所述第一判断模块包括:
141.目标元素信息提取子模块,用于从所述远程字典服务数据库中提取出所述元素名称信息和所述目标元素路径信息;
142.父节点层级视图页面元素确定子模块,用于通过所述元素名称信息和所述目标元素路径信息,确定出针对所述父节点层级视图页面的父节点层级视图页面元素;
143.第一判断子模块,用于判断所述父节点层级视图页面元素与所述目标元素是否相匹配。
144.可选地,所述测试重启模块可以包括:
145.第一测试重启子模块,用于在所述父节点层级视图页面元素与所述目标元素相匹配时,针对所述目标视图页面的第二测试项进行模拟点击测试。
146.可选地,所述装置应用于自动化应用程序中,所述自动化应用程序具有对应的远程字典服务数据库,所述目标元素确定模块可以包括:
147.第一页面图片生成子模块,用于生成针对所述目标视图页面的第一页面图片;
148.第一图片指纹码生成子模块,用于采用哈希算法生成针对所述第一页面图片的第一图片指纹码,并将所述图片第一指纹码作为目标元素储存至所述远程字典服务数据库中。
149.可选地,还可以包括:
150.第二判断模块,用于通过所述目标元素判断所述父节点层级视图页面是否为与所述目标视图页面对应的目标父节点层级视图页面;
151.所述第二判断模块包括:
152.第二页面图片生成子模块,用于生成针对所述目标视图页面的第二页面图片;
153.第二图片指纹码生成子模块,用于采用哈希算法生成针对所述第二页面图片的第二图片指纹码;
154.第一指纹码提取子模块,用于从所述远程字典服务数据库中提取出所述第一指纹码;
155.第二判断子模块,用于判断所述第一指纹码与所述第二图片指纹码的相似度是否大于预设阈值。
156.可选地,所述测试重启模块可以包括:
157.第二测试重启子模块,用于在所述第一指纹码与所述第二图片指纹码的相似度大于预设阈值时,针对所述目标视图页面的第二测试项进行模拟点击测试。
158.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
159.另外,本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述针对视图页面的模拟点击测试方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
160.本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述针对视图页面的模拟点击测试方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
161.图4为实现本发明各个实施例的一种电子设备的硬件结构示意图。
162.该电子设备400包括但不限于:射频单元401、网络模块402、音频输出单元403、输入单元404、传感器405、显示单元406、用户输入单元407、接口单元408、存储器409、处理器410、以及电源411等部件。本领域技术人员可以理解,图4中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
163.应理解的是,本发明实施例中,射频单元401可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器410处理;另外,将上行的数据发送给基站。通常,射频单元401包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元401还可以通过无线通信系统与网络和其他设备通信。
164.电子设备通过网络模块402为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
165.音频输出单元403可以将射频单元401或网络模块402接收的或者在存储器409中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元403还可以提供与电子设备400执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元403包括扬声器、蜂鸣器以及受话器等。
166.输入单元404用于接收音频或视频信号。输入单元404可以包括图形处理器(graphics processing unit,gpu)4041和麦克风4042,图形处理器4041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元406上。经图形处理器4041处理后的图像帧可以存储在存储器409(或其它存储介质)中或者经由射频单元401或网络模块402进行发送。麦克风4042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元401发送到移动通信基站的格式输出。
167.电子设备400还包括至少一种传感器405,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板4061的亮度,接近传感器可在电子设备400移动到耳边时,关闭显示面板4061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器405还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
168.显示单元406用于显示由用户输入的信息或提供给用户的信息。显示单元406可包
括显示面板4061,可以采用液晶显示器(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)等形式来配置显示面板4061。
169.用户输入单元407可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元407包括触控面板4071以及其他输入设备4072。触控面板4071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板4071上或在触控面板4071附近的操作)。触控面板4071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器410,接收处理器410发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板4071。除了触控面板4071,用户输入单元407还可以包括其他输入设备4072。具体地,其他输入设备4072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
170.进一步的,触控面板4071可覆盖在显示面板4061上,当触控面板4071检测到在其上或附近的触摸操作后,传送给处理器410以确定触摸事件的类型,随后处理器410根据触摸事件的类型在显示面板4061上提供相应的视觉输出。虽然在图4中,触控面板4071与显示面板4061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板4071与显示面板4061集成而实现电子设备的输入和输出功能,具体此处不做限定。
171.接口单元408为外部装置与电子设备400连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(i/o)端口、视频i/o端口、耳机端口等等。接口单元408可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备400内的一个或多个元件或者可以用于在电子设备400和外部装置之间传输数据。
172.存储器409可用于存储软件程序以及各种数据。存储器409可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器409可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
173.处理器410是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器409内的软件程序和/或模块,以及调用存储在存储器409内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器410可包括一个或多个处理单元;优选的,处理器410可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器410中。
174.电子设备400还可以包括给各个部件供电的电源411(比如电池),优选的,电源411可以通过电源管理系统与处理器410逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
175.另外,电子设备400包括一些未示出的功能模块,在此不再赘述。
176.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
177.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
178.上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
179.本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
180.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
181.在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
182.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
183.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
184.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个
人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
185.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1