一种遍历测试中路径匹配的方法、装置及移动终端转让专利

申请号 : CN201610580913.4

文献号 : CN106294123B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈晓青

申请人 : 厦门美图移动科技有限公司

摘要 :

本发明公开了一种遍历测试中路径匹配的方法、装置及移动终端,所述方法适于在移动终端中执行,包括:将当前待响应操作事件的控件的主键信息缓存至当前路径数组中,从目标路径集合中获取各目标路径数组,对当前路径数组中的当前路径与各目标路径数组中的目标路径依次执行路径匹配;若存在匹配成功的目标路径,则执行目标路径对应的路径操作;若不存在匹配成功的目标路径,则当前控件响应操作事件,其中,对当前路径数组中的当前路径与一个目标路径数组中的目标路径执行路径匹配包括:判断该当前路径与该目标路径的长度大小;若该当前路径的长度不小于该目标路径的长度,则从当前路径数组中以位置索引为下标的元素开始查找该目标路径以进行匹配。

权利要求 :

1.一种遍历测试中路径匹配的方法,适于在移动终端中执行,所述方法包括:获取当前待响应操作事件的控件的主键信息,所述主键信息包括控件ID和控件文本;

将所述主键信息作为新的路径信息缓存至当前路径数组中,所述当前路径数组的各元素中存储有当前路径的路径信息,所述当前路径的长度为当前路径数组已存储路径信息的元素个数;

从目标路径集合中获取各目标路径数组,所述目标路径数组的各元素中存储有目标路径的路径信息,所述目标路径的长度为目标路径数组的长度;

对当前路径数组中的当前路径与各目标路径数组中的目标路径依次执行路径匹配;

若存在匹配成功的目标路径,则执行所述目标路径对应的路径操作;

若不存在匹配成功的目标路径,则当前控件响应所述操作事件,其中,对当前路径数组中的当前路径与一个目标路径数组中的目标路径执行路径匹配包括:判断该当前路径与该目标路径的长度大小;

若该当前路径的长度不小于该目标路径的长度,则设置当前路径数组的位置索引并初始化为0,从当前路径数组中以位置索引为下标的元素开始查找该目标路径以进行匹配。

2.如权利要求1所述的方法,其中对当前路径数组中的当前路径与一个目标路径数组中的目标路径执行路径匹配还包括:若该当前路径的长度小于该目标路径的长度,则判断查找失败,不再执行路径匹配。

3.如权利要求1或2所述的方法,其中所述操作事件包括点击事件、滑动事件、长按事件和输入事件中任一种。

4.如权利要求1或2所述的方法,其中所述当前路径数组的长度与最长目标路径的长度一致。

5.如权利要求1或2所述的方法,其中将所述主键信息作为新的路径信息缓存至当前路径数组中包括:若所述当前路径数组为空,则将所述主键信息作为新的路径信息存储至当前路径数组的最后一个元素中;

若所述当前路径数组不为空,则将当前路径数组的各元素中存储的路径信息向前移动一位,并将所述主键信息作为新的路径信息存储至当前路径数组的最后一个元素中。

6.如权利要求1或2所述的方法,其中从当前路径数组中以位置索引为下标的元素开始查找目标路径数组中的目标路径以进行匹配包括:从当前路径数组中以位置索引为下标的元素开始,依次查找目标路径数组中第一个元素中存储的路径信息;

若在当前路径数组中以位置索引为下标的元素开始,查找到目标路径数组的第一个元素中存储的路径信息,则获取当前路径数组中存储所述路径信息的元素的下标并赋值给位置索引;

若所述下标与所述目标路径的长度之和不大于当前路径长度,则从当前路径数组中以位置索引为下标的元素开始,依次匹配所述当前路径和所述目标路径;

当所述当前路径中存在与所述目标路径不匹配的路径信息时,获取当前路径数组中存储该路径信息的元素的下标并赋值给位置索引,重新从当前路径数组中以位置索引为下标的元素开始查找目标路径数组中的目标路径以进行匹配。

7.如权利要求6所述的方法,还包括:

若在当前路径数组中以位置索引为下标的元素开始,未查找到目标路径数组的第一个元素中存储的路径信息,则判断查找失败,不再执行路径匹配。

8.如权利要求6所述的方法,还包括:

若所述下标与所述目标路径的长度之和大于当前路径长度,则判断查找失败,不再执行路径匹配。

9.一种遍历测试中路径匹配的装置,适于驻留在移动终端中,所述装置包括:第一获取模块,适于获取当前待响应操作事件的控件的主键信息,所述主键信息包括控件ID和控件文本;

缓存模块,适于将所述主键信息作为新的路径信息缓存至当前路径数组中,所述当前路径数组的各元素中存储有当前路径的路径信息,所述当前路径的长度为当前路径数组已存储路径信息的元素个数;

第二获取模块,适于从目标路径集合中获取各目标路径数组,所述目标路径数组的各元素中存储有目标路径的路径信息,所述目标路径的长度为目标路径数组的长度;

匹配模块,适于对当前路径数组中的当前路径与各目标路径数组中的目标路径依次执行路径匹配,其中对当前路径数组中的当前路径与一个目标路径数组中的目标路径执行路径匹配适于判断该当前路径与该目标路径的长度大小,当该当前路径的长度不小于该目标路径的长度时,设置当前路径数组的位置索引并初始化为0,从当前路径数组中以位置索引为下标的元素开始查找该目标路径以进行匹配;

执行模块,适于当存在匹配成功的目标路径时,执行所述目标路径对应的路径操作;

响应模块,适于当不存在匹配成功的目标路径时,当前控件响应所述操作事件。

10.如权利要求9所述的装置,其中所述匹配模块还适于,当该当前路径的长度小于该目标路径的长度时,判断查找失败,不再执行路径匹配。

11.如权利要求9或10所述的装置,其中所述操作事件包括点击事件、滑动事件、长按事件和输入事件中任一种。

12.如权利要求9或10所述的装置,其中所述当前路径数组的长度与最长目标路径的长度一致。

13.如权利要求9或10所述的装置,其中所述缓存模块进一步适于:当所述当前路径数组为空时,将所述主键信息作为新的路径信息存储至当前路径数组的最后一个元素中;

当所述当前路径数组不为空时,将当前路径数组的各元素中存储的路径信息向前移动一位,并将所述主键信息作为新的路径信息存储至当前路径数组的最后一个元素中。

14.如权利要求9或10所述的装置,其中所述匹配模块进一步适于:从当前路径数组中以位置索引为下标的元素开始,依次查找目标路径数组中第一个元素中存储的路径信息;

当在当前路径数组中以位置索引为下标的元素开始,查找到目标路径数组的第一个元素中存储的路径信息时,获取当前路径数组中存储所述路径信息的元素的下标并赋值给位置索引;

当所述下标与所述目标路径的长度之和不大于当前路径长度时,从当前路径数组中以位置索引为下标的元素开始,依次匹配所述当前路径和所述目标路径;

当所述当前路径中存在与所述目标路径不匹配的路径信息时,获取当前路径数组中存储该路径信息的元素的下标并赋值给位置索引,重新从当前路径数组中以位置索引为下标的元素开始查找目标路径数组中的目标路径以进行匹配。

15.如权利要求14所述的装置,其中所述匹配模块进一步适于:当在当前路径数组中以位置索引为下标的元素开始,未查找到目标路径数组的第一个元素中存储的路径信息时,判断查找失败,不再执行路径匹配。

16.如权利要求14所述的装置,其中所述匹配模块进一步适于:当所述下标与所述目标路径的长度之和大于当前路径长度时,判断查找失败,不再执行路径匹配。

17.一种移动终端,包括如权利要求9-16中任一项所述的遍历测试中路径匹配的装置。

说明书 :

一种遍历测试中路径匹配的方法、装置及移动终端

技术领域

[0001] 本发明涉及自动化测试领域,特别涉及一种遍历测试中路径匹配的方法、装置及移动终端。

背景技术

[0002] 在自动化测试领域中,遍历测试方法已普遍应用于各类测试方案中,发挥着重要的作用。然而,目前的遍历测试方法中,却未包含遍历路径信息的预先处理,而遍历的路径常常也会影响到遍历测试的效果。比如,在测试“相册”这一应用时,遍历过程中的一条路径为“全选——删除——确定”,当执行该路径的遍历测试后,相册中的全部照片被删除,被测资源为空,导致后期的遍历有效性大幅度降低。但若只是单纯将“删除”操作屏蔽,很显然会直接影响遍历的有效性,因为针对单独一张照片的删除也会被屏蔽掉,从而有必要对遍历测试中的路径进行预先匹配。
[0003] 因此,需要提出一种遍历测试中路径匹配的技术方案,针对性解决遍历路径的问题,在遍历过程中加入目标路径的探测,进一步提升遍历测试的有效性和可靠性。

发明内容

[0004] 为此,本发明提供一种遍历测试中路径匹配的方案,以力图解决或者至少缓解上面存在的问题。
[0005] 根据本发明的一个方面,提供一种遍历测试中路径匹配的方法,适于在移动终端中执行,该方法包括如下步骤:首先,获取当前待响应操作事件的控件的主键信息,主键信息包括控件ID和控件文本;将主键信息作为新的路径信息缓存至当前路径数组中,当前路径数组的各元素中存储有当前路径的路径信息,当前路径的长度为当前路径数组已存储路径信息的元素个数;从 目标路径集合中获取各目标路径数组,目标路径数组的各元素中存储有目标路径的路径信息,目标路径的长度为目标路径数组的长度;对当前路径数组中的当前路径与各目标路径数组中的目标路径依次执行路径匹配;若存在匹配成功的目标路径,则执行目标路径对应的路径操作;若不存在匹配成功的目标路径,则当前控件响应操作事件,其中,对当前路径数组中的当前路径与一个目标路径数组中的目标路径执行路径匹配包括:判断该当前路径与该目标路径的长度大小;若该当前路径的长度不小于该目标路径的长度,则设置当前路径数组的位置索引并初始化为0,从当前路径数组中以位置索引为下标的元素开始查找该目标路径以进行匹配。
[0006] 可选地,在根据本发明的遍历测试中路径匹配的方法中,当前路径数组中的当前路径与一个目标路径数组中的目标路径执行路径匹配还包括:若该当前路径的长度小于该目标路径的长度,则判断查找失败,不再执行路径匹配。
[0007] 可选地,在根据本发明的遍历测试中路径匹配的方法中,操作事件包括点击事件、滑动事件、长按事件和输入事件中任一种。
[0008] 可选地,在根据本发明的遍历测试中路径匹配的方法中,当前路径数组的长度与最长目标路径的长度一致。
[0009] 可选地,在根据本发明的遍历测试中路径匹配的方法中,将主键信息作为新的路径信息缓存至当前路径数组中包括:若当前路径数组为空,则将主键信息作为新的路径信息存储至当前路径数组的最后一个元素中;若当前路径数组不为空,则将当前路径数组的各元素中存储的路径信息向前移动一位,并将主键信息作为新的路径信息存储至当前路径数组的最后一个元素中。
[0010] 可选地,在根据本发明的遍历测试中路径匹配的方法中,从当前路径数组中以位置索引为下标的元素开始查找目标路径数组中的目标路径以进行匹配包括:从当前路径数组中以位置索引为下标的元素开始,依次查找目标路径数组中第一个元素中存储的路径信息;若在当前路径数组中以位置索引为下标的元素开始,查找到目标路径数组的第一个元素中存储的路径信息,则获取当前路径数组中存储路径信息的元素的下标并赋值给位置索引;若下标与目标路径的长度之和不大于当前路径长度,则从当前路径数组中以位置索 引为下标的元素开始,依次匹配当前路径和目标路径;当当前路径中存在与目标路径不匹配的路径信息时,获取当前路径数组中存储该路径信息的元素的下标并赋值给位置索引,重新从当前路径数组中以位置索引为下标的元素开始查找目标路径数组中的目标路径以进行匹配。
[0011] 可选地,在根据本发明的遍历测试中路径匹配的方法中,还包括若在当前路径数组中以位置索引为下标的元素开始,未查找到目标路径数组的第一个元素中存储的路径信息,则判断查找失败,不再执行路径匹配。
[0012] 可选地,在根据本发明的遍历测试中路径匹配的方法中,还包括若下标与目标路径的长度之和大于当前路径长度,则判断查找失败,不再执行路径匹配。
[0013] 根据本发明的又一个方面,提供一种遍历测试中路径匹配的装置,适于驻留在移动终端中,该设备包括第一获取模块、缓存模块、第二获取模块、匹配模块、执行模块和响应模块。其中,第一获取模块,适于获取当前待响应操作事件的控件的主键信息,主键信息包括控件ID和控件文本;缓存模块,适于将主键信息作为新的路径信息缓存至当前路径数组中,当前路径数组的各元素中存储有当前路径的路径信息,当前路径的长度为当前路径数组已存储路径信息的元素个数;第二获取模块,适于从目标路径集合中获取各目标路径数组,目标路径数组的各元素中存储有目标路径的路径信息,目标路径的长度为目标路径数组的长度;匹配模块,适于对当前路径数组中的当前路径与各目标路径数组中的目标路径依次执行路径匹配,其中对当前路径数组中的当前路径与一个目标路径数组中的目标路径执行路径匹配适于判断该当前路径与该目标路径的长度大小,当该当前路径的长度不小于该目标路径的长度时,设置当前路径数组的位置索引并初始化为0,从当前路径数组中以位置索引为下标的元素开始查找该目标路径以进行匹配;执行模块,适于当存在匹配成功的目标路径时,执行目标路径对应的路径操作;响应模块,适于当不存在匹配成功的目标路径时,当前控件响应操作事件。
[0014] 可选地,在根据本发明的遍历测试中路径匹配的装置中,匹配模块还适于,当该当前路径的长度小于该目标路径的长度时,判断查找失败,不再执行路径匹配。
[0015] 可选地,在根据本发明的遍历测试中路径匹配的装置中,操作事件包括点击事件、滑动事件、长按事件和输入事件中任一种。
[0016] 可选地,在根据本发明的遍历测试中路径匹配的装置中,当前路径数组的长度与最长目标路径的长度一致。
[0017] 可选地,在根据本发明的遍历测试中路径匹配的装置中,缓存模块进一步适于:当当前路径数组为空时,将主键信息作为新的路径信息存储至当前路径数组的最后一个元素中;当当前路径数组不为空时,将当前路径数组的各元素中存储的路径信息向前移动一位,并将主键信息作为新的路径信息存储至当前路径数组的最后一个元素中。
[0018] 可选地,在根据本发明的遍历测试中路径匹配的装置中,匹配模块进一步适于:从当前路径数组中以位置索引为下标的元素开始,依次查找目标路径数组中第一个元素中存储的路径信息;当在当前路径数组中以位置索引为下标的元素开始,查找到目标路径数组的第一个元素中存储的路径信息时,获取当前路径数组中存储路径信息的元素的下标并赋值给位置索引;当下标与目标路径的长度之和不大于当前路径长度时,从当前路径数组中以位置索引为下标的元素开始,依次匹配当前路径和目标路径;当当前路径中存在与目标路径不匹配的路径信息时,获取当前路径数组中存储该路径信息的元素的下标并赋值给位置索引,重新从当前路径数组中以位置索引为下标的元素开始查找目标路径数组中的目标路径以进行匹配。
[0019] 可选地,在根据本发明的遍历测试中路径匹配的装置中,匹配模块进一步适于:当在当前路径数组中以位置索引为下标的元素开始,未查找到目标路径数组的第一个元素中存储的路径信息时,判断查找失败,不再执行路径匹配。
[0020] 可选地,在根据本发明的遍历测试中路径匹配的装置中,匹配模块进一步适于:当下标与目标路径的长度之和大于当前路径长度时,判断查找失败,不再执行路径匹配。
[0021] 根据本发明的又一个方面,还提供一种移动终端,包括根据本发明的遍历测试中路径匹配的装置。
[0022] 根据本发明的遍历测试中路径匹配的技术方案,首先获取当前待响应操 作事件的控件的主键信息并存储于当前路径数组中,对当前路径数组中的当前路径和各目标路径数组的目标路径依次进行匹配,若存在匹配成功的目标路径,则执行该目标路径对应的路径操作,若不存在,则当前控件响应操作事件。在上述技术方案中,通过在遍历测试过程中加入目标路径的匹配,当测试中的当前路径中匹配到目标路径时,采取与目标路径对应的处理措施,尤其是能够在屏蔽某些特定路径方面达到明显效果,极大地提升了遍历测试的有效性。

附图说明

[0023] 为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
[0024] 图1示出了根据本发明的一个实施例的移动终端100的示意图;
[0025] 图2示出了根据本发明一个实施例的遍历测试中路径匹配的方法200的流程图;
[0026] 图3示出了根据本发明一个实施例的对当前路径数组中的当前路径与目标路径数组中的目标路径执行路径匹配240的流程图;以及
[0027] 图4示出了根据本发明一个实施例的遍历测试中路径匹配的装置300的示意图。

具体实施方式

[0028] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0029] 图1是移动终端100的结构框图。移动终端100可以包括存储器接口102、一个或多个数据处理器、图像处理器和/或中央处理单元104,以及外围接口106。
[0030] 存储器接口102、一个或多个处理器104和/或外围接口106既可以是分立元件,也可以集成在一个或多个集成电路中。在移动终端100中,各种元件可以通过一条或多条通信总线或信号线来耦合。传感器、设备和子系统可以耦合到外围接口106,以便帮助实现多种功能。
[0031] 例如,运动传感器110、光线传感器112和距离传感器114可以耦合到外围接口106,以方便定向、照明和测距等功能。其他传感器116同样可以与外围接口106相连,例如定位系统(例如GPS接收机)、温度传感器、生物测定传感器或其他感测设备,由此可以帮助实施相关的功能。
[0032] 相机子系统120和光学传感器122可以用于方便诸如记录照片和视频剪辑的相机功能的实现,其中所述相机子系统和光学传感器例如可以是电荷耦合器件(CCD)或互补金属氧化物半导体(厘米OS)光学传感器。可以通过一个或多个无线通信子系统124来帮助实现通信功能,其中无线通信子系统可以包括射频接收机和发射机和/或光(例如红外)接收机和发射机。无线通信子系统124的特定设计和实施方式可以取决于移动终端100所支持的一个或多个通信网络。例如,移动终端100可以包括被设计成支持LTE、3G、GSM网络、GPRS网络、EDGE网络、Wi-Fi或WiMax网络以及BlueboothTM网络的通信子系统124。
[0033] 音频子系统126可以与扬声器128以及麦克风130相耦合,以便帮助实施启用语音的功能,例如语音识别、语音复制、数字记录和电话功能。I/O子系统140可以包括触摸屏控制器142和/或一个或多个其他输入控制器144。触摸屏控制器142可以耦合到触摸屏146。举例来说,该触摸屏146和触摸屏控制器142可以使用多种触摸感测技术中的任何一种来检测与之进行的接触和移动或是暂停,其中感测技术包括但不局限于电容性、电阻性、红外和表 面声波技术。一个或多个其他输入控制器144可以耦合到其他输入/控制设备148,例如一个或多个按钮、摇杆开关、拇指旋轮、红外端口、USB端口、和/或指示笔之类的指点设备。所述一个或多个按钮(未显示)可以包括用于控制扬声器128和/或麦克风130音量的向上/向下按钮。
[0034] 存储器接口102可以与存储器150相耦合。该存储器150可以包括高速随机存取存储器和/或非易失性存储器,例如一个或多个磁盘存储设备,一个或多个光学存储设备,和/或闪存存储器(例如NAND,NOR)。存储器150可以存储操作系统172,例如Android、iOS或是Windows Phone之类的操作系统。该操作系统172可以包括用于处理基本系统服务以及执行依赖于硬件的任务的指令。存储器150还可以存储应用174。在移动设备运行时,会从存储器150中加载操作系统172,并且由处理器104执行。应用174在运行时,也会从存储器150中加载,并由处理器104执行。应用174运行在操作系统之上,利用操作系统以及底层硬件提供的接口实现各种用户期望的功能,如即时通信、网页浏览、图片管理等。应用174可以是独立于操作系统提供的,也可以是操作系统自带的。另外,应用174被安装到移动终端100中时,也可以向操作系统添加驱动模块。在上述各种应用174中,其中的一种应用为根据本发明的遍历测试中路径匹配的装置300。
[0035] 图2示出了根据本发明一个实施例的遍历测试中路径匹配的方法200的流程图。遍历测试中路径匹配的方法200适于在移动终端(例如图1所示的移动终端100)中执行。
[0036] 如图2所示,方法200始于步骤S210。在步骤S210中,首先获取当前待响应操作事件的控件的主键信息,主键信息包括控件ID和控件文本。其中,操作事件包括点击事件、滑动事件、长按事件和输入事件中任一种。在本实施例中,操作事件为点击事件,当前待响应点击事件的控件为“相册”这一应用中的“全选”按钮。“全选”按钮这一控件的控件ID为com.mlab.photos:id/button1,控件文本为全选。
[0037] 随后,进入步骤S220。在步骤S220中,将主键信息作为新的路径信息缓存至当前路径数组中,当前路径数组的各元素中存储有当前路径的路径信息,当前路径的长度为当前路径数组已存储路径信息的元素个数。若当前路径数 组为空,则将主键信息作为新的路径信息存储至当前路径数组的最后一个元素中;若当前路径数组不为空,则将当前路径数组的各元素中存储的路径信息向前移动一位,并将主键信息作为新的路径信息存储至当前路径数组的最后一个元素中。在本实施例中,当前路径数组为path,包括4个元素,每个元素中可存储1个路径信息,所存储的路径信息组合成当前路径。在“全选”这一控件的主键信息作为新的路径信息缓存至path中之前,是先存储到变量newNode中,再将newNode存到path中。而newNode这个变量为Node类的对象,Node类表示为:class Node{String text;String id;}。此时,path=[a,b,c,d],其中a、b、c和d这4个路径信息分别对应遍历“全选”控件前的路径中的控件的主键信息,当前路径为a——b——c——d。为便于表示,以下将以“全选”二字代替“全选”控件的主键信息进行描述。当前path中已存储路径信息的元素共4个,则当前路径的长度为4。由于path不为空,则将path的各元素中存储的路径信息a、b、c和d依次向前移动一位,并将全选存储到最后一个元素,即path[3]中,最后获得的path为path=[b,c,d,全选],当前路径为b——c——d——全选。
[0038] 在步骤S230中,从目标路径集合中获取各目标路径数组,目标路径数组的各元素中存储有目标路径的路径信息,目标路径的长度为目标路径数组的长度。在本实施例中,目标路径集合为list,list中可存放多个目标路径数组,现已存放2个目标路径数组,分别为target_1和target_2,target_1=[全选,删除,确定],target_2=[b,全选,d,e]。其中,全选、删除和确定为target_1中存储的目标路径的路径信息,target_1的目标路径为全选——删除——确定,target_1与其目标路径的长度均为3,b、全选、d和e为target_2中存储的目标路径的路径信息,target_2的目标路径为b——全选——d——e,target_2与其目标路径的长度均为4。最长目标路径为target_2的目标路径,长度为4,而path的长度也为4,满足当前路径数组的长度与最长目标路径的长度一致这一条件。为便于表述,全选、删除、确定、a、b、c、d和e可用于指代其各自对应的控件。
[0039] 进入步骤S240,在步骤S240中,对当前路径数组中的当前路径与各目标路径数组中的目标路径依次执行路径匹配。图3示出了根据本发明一个实施 例的对当前路径数组中的当前路径与目标路径数组中的目标路径执行路径匹配240的流程图。在本实施例中,先对path中的当前路径与target_1中的目标路径进行匹配。如图3所示,在步骤S241中,判断该当前路径与该目标路径的长度大小。当前路径的长度为4,target_1中目标路径的长度为3,则当前路径的长度大于target_1中目标路径的长度。
[0040] 在步骤S242中,若该当前路径的长度不小于该目标路径的长度,则设置当前路径数组的位置索引并初始化为0,从当前路径数组中以位置索引为下标的元素开始查找该目标路径以进行匹配。若该当前路径的长度小于该目标路径的长度,则判断查找失败,不再执行路径匹配。此时,设置path的位置索引为index,并将其初始化为0以指向path[0]。首先,从当前路径数组中以位置索引为下标的元素开始,依次查找目标路径数组中第一个元素中存储的路径信息。从path[0]开始,先将path[0]与target_1[0]进行对比,path[0]=b,target_1[0]=全选,从而path[0]≠target_1[0],则将path[1]、path[2]和path[3]依次与target_1[0]进行对比,发现path[3]=target_1[0]。若在当前路径数组中以位置索引为下标的元素开始,查找到目标路径数组的第一个元素中存储的路径信息,则获取当前路径数组中存储路径信息的元素的下标并赋值给位置索引;若在当前路径数组中以位置索引为下标的元素开始,未查找到目标路径数组的第一个元素中存储的路径信息,则判断查找失败,不再执行路径匹配。此时,从path[0]开始,在path中查找到path[3]与target_1[0]匹配,获取path[3]的下标为3,并赋值给index,则index=3。若下标与目标路径的长度之和不大于当前路径长度,则从当前路径数组中以位置索引为下标的元素开始,依次匹配当前路径和目标路径;若下标与目标路径的长度之和大于当前路径长度,则判断查找失败,不再执行路径匹配。由于该下标为3,目标路径长度为3,而3+3>4,因此判断查找失败,对于path中的当前路径和target_1中的目标路径不再执行路径匹配。
[0041] 当target_1中的目标路径匹配失败后,对path中的当前路径与target_2中的目标路径执行路径匹配。在步骤S241中,当前路径的长度为4,target_2中目标路径的长度为4,则当前路径的长度等于target_2中目标路径的长度。在步骤S242中,index初始化为0,从path[0]开始,先将path[0]与target_2[0] 进行对比,path[0]=b,target_2[0]=b,从而path[0]=target_2[0]。获取path[0]的下标为0,并赋值给index,则index=0。由于该下标为0,目标路径长度为4,而0+4=4,因此从path[0]开始,在path中查找target_2中目标路径,然而,path[1]=c,target_2[0]=全选,path[1]≠target_2[0]。当当前路径中存在与目标路径不匹配的路径信息时,获取当前路径数组中存储该路径信息的元素的下标并赋值给位置索引,重新从当前路径数组中以位置索引为下标的元素开始查找目标路径数组中的目标路径以进行匹配。此时,将path[1]的下标赋值给index,进而index=1,重新从path[1]开始在path中查找target_2中目标路径。由于path[1]、path[2]和path[3]均与target_2[0]不匹配,在path中以path[1]开始,未查找到与target_2[0]匹配的元素,则判断查找失败,不再执行路径匹配。对当前路径数组中的当前路径与各目标路径数组中的目标路径执行路径匹配的关键代码如下:
[0042]
[0043]
[0044] 在步骤S250中,若存在匹配成功的目标路径,则执行目标路径对应的路径操作。对于target_1中的目标路径“全选——删除——确定”,其对应的路径操作为不调用“确定”这一控件的响应方法,从而规避该目标路径的操作。而对于target_2中的目标路径“b——全选——d——e”,其对应的路径操作为不调用“e”这一控件的响应方法。此时,在path中不存在匹配成功的目标路径。
[0045] 在步骤S260中,若不存在匹配成功的目标路径,则当前控件响应操作事件。由于path中不存在匹配成功的目标路径,因此当前控件“全选”响应点击事件。在“全选”响应点击事件后,移动终端的屏幕中的界面发生相应变化,此时继续执行遍历测试中路径匹配的方法200,获取新的当前待响应操作事件的控件的主键信息。关键代码如下:
[0046]
[0047]
[0048] 图4示出了根据本发明一个实施例的遍历测试中路径匹配的装置600的示意图。该装置包括:第一获取模块310、缓存模块320、第二获取模块330、匹配模块340、执行模块350和响应模块360。
[0049] 第一获取模块310适于获取当前待响应操作事件的控件的主键信息,主键信息包括控件ID和控件文本。其中,操作事件包括点击事件、滑动事件、长按事件和输入事件中任一种
[0050] 缓存模块320适于将主键信息作为新的路径信息缓存至当前路径数组中,当前路径数组的各元素中存储有当前路径的路径信息,当前路径的长度为当前路径数组已存储路径信息的元素个数。其中,当前路径数组的长度与最长目标路径的长度一致。
[0051] 缓存模块320进一步适于当当前路径数组为空时,将主键信息作为新的路径信息存储至当前路径数组的最后一个元素中;当当前路径数组不为空时,将当前路径数组的各元素中存储的路径信息向前移动一位,并将主键信息作为新的路径信息存储至当前路径数组的最后一个元素中。
[0052] 第二获取模块330适于从目标路径集合中获取各目标路径数组,所述目 标路径数组的各元素中存储有目标路径的路径信息,所述目标路径的长度为目标路径数组的长度。
[0053] 匹配模块340适于对当前路径数组中的当前路径与各目标路径数组中的目标路径依次执行路径匹配,其中对当前路径数组中的当前路径与一个目标路径数组中的目标路径执行路径匹配适于判断该当前路径与该目标路径的长度大小,当该当前路径的长度不小于该目标路径的长度时,设置当前路径数组的位置索引并初始化为0,从当前路径数组中以位置索引为下标的元素开始查找该目标路径以进行匹配;当该当前路径的长度小于该目标路径的长度时,判断查找失败,不再执行路径匹配。
[0054] 匹配模块340进一步适于从当前路径数组中以位置索引为下标的元素开始,依次查找目标路径数组中第一个元素中存储的路径信息;当在当前路径数组中以位置索引为下标的元素开始,查找到目标路径数组的第一个元素中存储的路径信息时,获取当前路径数组中存储路径信息的元素的下标并赋值给位置索引;当下标与目标路径的长度之和不大于当前路径长度时,从当前路径数组中以位置索引为下标的元素开始,依次匹配当前路径和目标路径;当当前路径中存在与目标路径不匹配的路径信息时,获取当前路径数组中存储该路径信息的元素的下标并赋值给位置索引,重新从当前路径数组中以位置索引为下标的元素开始查找目标路径数组中的目标路径以进行匹配;当下标与目标路径的长度之和大于当前路径长度时,判断查找失败,不再执行路径匹配;当在当前路径数组中以位置索引为下标的元素开始,未查找到目标路径数组的第一个元素中存储的路径信息时,判断查找失败,不再执行路径匹配。
[0055] 执行模块350适于当存在匹配成功的目标路径时,执行目标路径对应的路径操作。
[0056] 响应模块360适于当不存在匹配成功的目标路径时,当前控件响应操作事件。
[0057] 关于遍历测试中路径匹配的具体步骤以及实施例,在基于图2的描述中已经详细公开,此处不再赘述。
[0058] 在现有的遍历测试方法中,未包含遍历路径信息的预先处理,而遍历的 路径常常也会影响到遍历测试的效果。根据本发明实施例的遍历测试中路径匹配的技术方案,首先获取当前待响应操作事件的控件的主键信息并存储于当前路径数组中,对当前路径数组中的当前路径和各目标路径数组的目标路径依次进行匹配,若存在匹配成功的目标路径,则执行该目标路径对应的路径操作,若不存在,则当前控件响应操作事件。在上述技术方案中,通过在遍历测试过程中加入对目标路径的探测和匹配,当测试中的当前路径中匹配到目标路径时,采取与目标路径对应的处理措施,针对性解决遍历路径的问题,尤其是能够在屏蔽某些特定路径方面达到明显效果,极大地提升了遍历测试的有效性和可靠性。
[0059] B10.如B9所述的装置,其中所述匹配模块还适于,当该当前路径的长度小于该目标路径的长度时,判断查找失败,不再执行路径匹配。
[0060] B11.如B9或10所述的装置,其中所述操作事件包括点击事件、滑动事件、长按事件和输入事件中任一种。
[0061] B12.如B9或10所述的装置,其中所述当前路径数组的长度与最长目标路径的长度一致。
[0062] B13.如B9或10所述的装置,其中所述缓存模块进一步适于:
[0063] 当所述当前路径数组为空时,将所述主键信息作为新的路径信息存储至当前路径数组的最后一个元素中;
[0064] 当所述当前路径数组不为空时,将当前路径数组的各元素中存储的路径信息向前移动一位,并将所述主键信息作为新的路径信息存储至当前路径数组的最后一个元素中。
[0065] B14.如B9或10所述的装置,其中所述匹配模块进一步适于:
[0066] 从当前路径数组中以位置索引为下标的元素开始,依次查找目标路径数组中第一个元素中存储的路径信息;
[0067] 当在当前路径数组中以位置索引为下标的元素开始,查找到目标路径数组的第一个元素中存储的路径信息时,获取当前路径数组中存储所述路径信息的元素的下标并赋值给位置索引;
[0068] 当所述下标与所述目标路径的长度之和不大于当前路径长度时,从当前 路径数组中以位置索引为下标的元素开始,依次匹配所述当前路径和所述目标路径;
[0069] 当所述当前路径中存在与所述目标路径不匹配的路径信息时,获取当前路径数组中存储该路径信息的元素的下标并赋值给位置索引,重新从当前路径数组中以位置索引为下标的元素开始查找目标路径数组中的目标路径以进行匹配。
[0070] B15.如B14所述的装置,其中所述匹配模块进一步适于:
[0071] 当在当前路径数组中以位置索引为下标的元素开始,未查找到目标路径数组的第一个元素中存储的路径信息时,判断查找失败,不再执行路径匹配。
[0072] B16.如B14所述的装置,其中所述匹配模块进一步适于:
[0073] 当所述下标与所述目标路径的长度之和大于当前路径长度时,判断查找失败,不再执行路径匹配。
[0074] 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0075] 类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0076] 本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
[0077] 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以 把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0078] 此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0079] 此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
[0080] 如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
[0081] 尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。