页面遍历方法及装置与流程
未命名
08-05
阅读:50
评论:0

1.本说明书涉及计算机技术领域,特别涉及一种页面遍历方法。本说明书同时涉及一种页面遍历装置,一种计算设备,以及一种计算机可读存储介质。
背景技术:
2.随着互联网计算的发展,应用于移动平台的应用程序越来越多的被开发,为人们的工作和生活带来便利和乐趣,然而在新的应用程序上线前、增加新的功能、对应用程序进行维护后等情况下,均需要对应用程序进行功能性以及性能测试,然而由于人们对应用程序的功能需求越来越复杂,以及对性能的需求越来越高,大部分应用程序中会包含大量的控件,提供了点击、滑动、拖动等复杂的可操作方式,应用程序页面之间的跳转场景也趋于复杂化。
3.现有技术中,通常是基于已有的测试工具进行页面遍历和应用程序测试,或者对页面中包含的控件进行排序,根据控件顺序依次进行遍历,然而这种方法无法保证页面遍历的全面性,在控件之间存在跳转关系的情况下,存在一个控件被重复点击的情况,导致遍历效率也较低,因此,亟需一种页面遍历方法以解决上述问题,
技术实现要素:
4.有鉴于此,本说明书实施例提供了一种页面遍历方法。本说明书同时涉及一种页面遍历装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
5.根据本说明书实施例的第一方面,提供了一种页面遍历方法,包括:
6.基于初始页面的页面结构信息确定目标触控操作;
7.通过执行所述目标触控操作确定目标页面,并记录所述目标触控操作对应的执行信息;
8.计算所述初始页面和所述目标页面的页面相似度;
9.根据所述页面相似度,所述执行信息和所述目标触控操作的属性信息,生成所述目标触控操作对应的遍历信息并存储至历史执行列表。
10.根据本说明书实施例的第二方面,提供了一种页面遍历装置,包括:
11.确定模块,被配置为基于初始页面的页面结构信息确定目标触控操作;
12.记录模块,被配置为通过执行所述目标触控操作确定目标页面,并记录所述目标触控操作对应的执行信息;
13.计算模块,被配置为计算所述初始页面和所述目标页面的页面相似度;
14.生成模块,被配置为根据所述页面相似度,所述执行信息和所述目标触控操作的属性信息,生成所述目标触控操作对应的遍历信息并存储至历史执行列表。
15.根据本说明书实施例的第三方面,提供了一种计算设备,包括:
16.存储器和处理器;
17.所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该指令被处理器执行时实现所述页面遍历方法的步骤。
18.根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述页面遍历方法的步骤。
19.本说明书提供的页面遍历方法,基于初始页面的页面结构信息确定目标触控操作;通过执行所述目标触控操作确定目标页面,并记录所述目标触控操作对应的执行信息;计算所述初始页面和所述目标页面的页面相似度;根据所述页面相似度,所述执行信息和所述目标触控操作的属性信息,生成所述目标触控操作对应的遍历信息并存储至历史执行列表。
20.本说明书一实施例通过获取初始页面的页面结构信息,根据页面结构信息确定目标触控操作并执行,再对初始页面和执行目标触控操作后获得的目标页面进行相似性比较计算页面相似度,从而生成针对目标触控操作的遍历信息并记录,以便于后续确定与目标触控操作对应的下一触控操作,实现了对初始页面中包含的全部触控操作进行遍历,提高初始页面遍历的全面性,通过记录目标触控操作对应的遍历信息的方式,避免了目标触控操作的重复执行,提高初始页面的遍历效率。
附图说明
21.图1是本说明书一实施例提供的一种页面遍历方法的示意图;
22.图2是本说明书一实施例提供的一种页面遍历方法的流程图;
23.图3a是本说明书一实施例提供的第一种页面遍历方法的遍历流程图;
24.图3b是本说明书一实施例提供的第二种页面遍历方法的遍历流程图;
25.图3c是本说明书一实施例提供的第三种页面遍历方法的遍历流程图;
26.图3d是本说明书一实施例提供的第四种页面遍历方法的遍历流程图;
27.图4是本说明书一实施例提供的一种应用于应用程序页面遍历的页面遍历方法的处理流程图;
28.图5是本说明书一实施例提供的另一种应用于应用程序页面遍历的页面遍历方法的处理流程图;
29.图6是本说明书一实施例提供的一种页面遍历装置的结构示意图;
30.图7是本说明书一实施例提供的一种计算设备的结构框图。
具体实施方式
31.在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
32.在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
33.应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
34.图1是本说明书一实施例提供的一种页面遍历方法的示意图,如图1所示,初始页面可以是移动终端中安装的应用程序页面,还可以是pc端打开的网页。获取初始页面的页面结构信息,页面结构信息可以是初始页面对应字符串或文件形式的xml信息,可以基于页面结构信息确定初始页面中包含的多个控件以及控件的类型,控件的类型包括但不限于单击、双击、拖动、长按等,还可以针对初始页面进行滑动、翻页等操作。在确定了初始页面的页面结构信息后,即可根据页面结构信息确定针对初始页面的目标触控操作并执行,获得目标页面的同时记录目标触控操作对应的触控类型、控件标识、控件属性,页面变化(初始页面id、目标页面id、初始页面和目标页面分别对应的地址信息和页面信息)等执行信息,从而实现记录目标触控操作对应的页面变化情况、触控操作情况。
35.实际应用中,在目标触控操作为控件点击操作的情况下,执行了控件点击操作后,目标页面和初始页面相同或较为相似的可能性较低,但是也存在目标页面和初始页面相同或相似度较高的情况;在目标触控操作为滑动操作的情况下,可以是基于初始页面进行上下或左右滑动,将初始页面中未被展示的内容展示在当前窗口中,当前窗口对应的页面即为目标页面,此时,目标页面和初始页面可能相似,也可能不相似,因此需要对初始页面和目标页面进行相似度判断,计算初始页面和目标页面的页面相似度。根据页面相似度,执行信息和目标触控操作的触控id,触控类型等属性信息,生成于目标触控操作对应的遍历信息并存储至历史执行列表,在完成目标触控操作的遍历信息的记录后,即可确定与初始页面的目标触控操作对应的下一触控操作,进而执行该触控操作,获得遍历信息,直到将初始页面对应的全部触控操作执行完成,即获得了初始页面对应的页面遍历信息,完成了对初始页面的遍历。
36.对每个执行完成的触控操作对应的遍历信息进行记录,进而在一个触控操作执行完成后,可以基于历史执行列表中存储的遍历信息并记录确定与当前触控操作对应的下一触控操作,实现了对初始页面中包含的全部触控操作进行遍历,提高初始页面遍历的全面性,通过记录目标触控操作对应的遍历信息的方式,避免了目标触控操作的重复执行,提高了初始页面的遍历效率。
37.在本说明书中,提供了一种页面遍历方法,本说明书同时涉及一种页面遍历装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
38.图2示出了根据本说明书一实施例提供的一种页面遍历方法的流程图,具体包括以下步骤:
39.步骤202,基于初始页面的页面结构信息确定目标触控操作。
40.具体的,初始页面可以是移动终端中安装的应用程序的任意包含可操作控件、或者可滑动的应用页面,也可以是pc端中通过浏览器打开的网页,或者安装的应用程序对应的应用页面,网页、应用页面中包括可点击的控件,或者网页、应用页面支持用户的滑动操作,包含可操作控件或支持页面滑动的网页、应用程序页面均可作为初始页面,移动终端包
括但不限于手机、平板电脑、电话手表等能够展示页面,接收用户的触控操作的终端设备,本实施例对初始页面不做任何限定;相应的,页面结构信息即为基于初始页面确定的页面信息,页面结构信息可以是初始页面对应字符串或文件形式的包含xml内容的信息,页面结构信息中包括但不限于节点信息,节点对应的索引、类名、包名、描述文本、显示文本、可操作控件,以及控件对应的id、控件类型和位置坐标等;相应的,触控操作包括但不限于单击、双击、拖动、长按等操作,还可以是针对初始页面进行的滑动、翻页等操作。
41.基于此,在确定了需要进行遍历的初始页面后,即可进行初始页面的页面结构信息获取,获得xml格式的字符串或xml文档。可以基于页面结构信息确定初始页面中包含的可执行控件,进而在可执行控件中选择目标控件,确定与目标控件对应的目标触控操作;在初始页面为长页面或部分页面的情况下,即当前可移动终端的窗口无法展示全部的初始页面的情况下,目标触控操作还可以是针对初始页面进行的页面上下或左右等确定操作方向的滑动操作。在确定了目标触控操作后,即可执行目标触控操作,实现对初始页面的操作遍历。
42.实际应用中,在初始页面为移动终端中安装的应用程序页面的情况下,对初始页面进行遍历时可以通过硬件连接、蓝牙连接或网络连接的方式将移动终端接入pc端,使用页面结构信息获取服务实现对初始页面的页面结构信息的获取,进而获取到xml形式的页面结构信息,以便于根据xml形式的页面结构信息生成与页面结构信息对应的节点树,节点树种包含的节点可以是字符形式的节点id,还可以是能够表示节点属性的字符串,例如节点的功能为返回上一页,则可以将节点记录为back,节点的功能为滑动并展示下一页,则可以将节点记录为scroll_n,在当前页面无法继续滑动的情况下,可以将节点记录为scroll_end,每个节点即对应一个触控操作。
43.进一步的,考虑到对初始页面进行的触控操作类型存在多样性,包括但不限于对初始页面中的控件进行的触控操作、对初始页面进行滑动操作以及对初始页面中的元素进行的拖拽或缩放操作等,此时,执行不同类型的触控操作后,对初始页面的影响也不同,考虑到对初始页面进行触控操作的全面性,可以在基于页面结构信息确定可操作控件的基础上,针对可操作控件或初始页面确定目标触控操作,具体实现如下:
44.确定应用程序的初始页面;获取所述初始页面的页面结构信息,并基于所述页面结构信息确定所述初始页面包含的可操作控件;针对所述可操作控件或所述初始页面确定目标触控操作。
45.具体的,应用程序可以是手机、平板电脑、电话手表等任意可移动终端中安装的任意功能的应用程序,还可以是pc端中安装的应用程序,或者通过pc端或可移动终端打开网页,网页中包含可点击控件;相应的,可操作控件是指可以进行点击、拖动等操作的控件,可以为控件添加单击、双击、长按、拖动等不同的操作事件,进而实现页面跳转等不同的页面操作;相应的,触控操作包括但不限于对初始页面中可操作控件的点击、拖动、长按等操作,以及针对初始页面进行的页面滑动、页面中元素缩放、拖拽等操作,从而实现初始页面具有复杂的页面操作时的页面遍历。
46.基于此,在对应用程序进行页面遍历时,确定应用程序中需要进行遍历的初始页面,初始页面可以是应用程序中包含可操作性控件的任意页面。采用页面结构信息获取服务实现初始页面的页面结构信息的获取,并对页面结构信息进行保存,根据页面结构信息
中包含的节点信息生成初始页面对应的初始节点树。以便于后续根据初始节点树进行页面相似性比较。对获取到的页面结构信息进行分析,提取页面结构信息中包含的节点,进而根据节点确定初始页面包含的可操作控件。针对初始页面的可操作控件、初始页面、初始页面中的元素确定目标触控操作,进而执行目标触控操作。
47.举例说明,在对资源管理应用程序的页面进行遍历的场景下,获取资源管理应用程序中需要进行页面遍历的资源管理页面,通过页面结构信息获取服务获取资源管理页面的xml形式的结构信息。进而对结构信息中包含的控件进行统计。用户可以对控件进行点击等触控操作,还可以对资源管理页面进行滑动,因此对资源管理页面的操作包括对控件的操作,还包括对页面的操作。在确定针对资源管理页面的目标触控操作时,可以是对“资源分类”控件的点击操作,也可以是对页面进行上滑等滑动操作,还可以是对资源管理页面中“温馨提示”元素进行的缩放操作。
48.综上所述,在获取到初始页面的页面结构信息,根据页面结构信息确定初始页面中包含的可操作控件后,在基于可操作性控件确定目标触控操作的同时,基于初始页面生成目标触控操作,进而提高目标触控操作类型的全面性。
49.步骤204,通过执行所述目标触控操作确定目标页面,并记录所述目标触控操作对应的执行信息。
50.具体的,在上述基于初始页面的页面结构信息确定目标触控操作后,即可执行目标触控操作,进而确定与目标触控操作对应的目标页面,同时记录目标触控操作对应的执行信息,其中,目标页面即为执行目标触控操作后获得的页面,也为在初始页面的基础上进行跳转或页面滑动操作后获得的页面,在目标触控操作为页面跳转操作的情况下,目标页面即为在初始页面的基础上进行跳转后展示的页面;在目标触控操作为页面滑动操作的情况下,目标页面即为一次滑动操作后,当前窗口中展示的页面;相应的,执行信息即为目标触控操作对应的触控操作执行之前的页面信息和触控操作执行之后的页面信息,以及触控操作的触控类型、控件属性、执行时间、执行方式等信息。
51.基于此,在基于初始页面的页面结构信息确定目标触控操作后,执行目标触控操作,进而确定与目标触控操作对应的目标页面,同时记录目标触控操作对应的执行信息,实现对目标触控操作对应的触控操作执行之前的页面信息和触控操作执行之后的页面信息,以及触控操作的触控类型、控件属性等信息进行记录,其中页面信息包括但不限于页面id、页面对应的目标触控操作等信息。
52.实际应用中,执行目标触控操作后确定的目标页面可以是在初始页面的基础上进行页面跳转后获得的页面,也可以是在初始页面的基础上对初始页面中的展示的窗口或控件进行的拖动或缩放操作,此时目标页面即为在初始页面的基础上进行局部调整后获得的页面。
53.步骤206,计算所述初始页面和所述目标页面的页面相似度。
54.具体的,在上述通过执行目标触控操作确定目标页面,并记录目标触控操作对应的执行信息后,即可计算初始页面和目标页面的页面相似度,用于实现初始页面和目标页面之间的相似性比较,进而便于进行后续的记录和遍历操作,其中,页面相似度即为初始页面和目标页面之间的相似程度,可以用数值的方式表示,针对页面相似度可以设置相似阈值,在页面相似度大于相似阈值的情况下,表示初始页面和目标页面相似,相反的,在在页
面相似度小于相似阈值的情况下,表示初始页面和目标页面不相似;相似度可以根据初始页面和目标页面中相似的节点数量确定,在初始页面和目标页面中相似的节点数量小于进行比较的节点数量的80%的情况下,则认为初始页面和目标页面不相似;在初始页面和目标页面中不相似的节点数量超过进行比较的节点数量的25%的情况下,则认为初始页面和目标页面不相似,本实施例对页面相似度的计算方式不做任何限定。
55.基于此,在通过执行目标触控操作确定目标页面,并记录目标触控操作对应的执行信息后,对初始页面和目标页面中包含的节点进行比对,进而根据比对结果计算初始页面和目标页面的页面相似度,用于实现初始页面和目标页面之间的相似性比较,进而便于进行后续的遍历信息记录和页面遍历操作。
56.实际应用中,在计算初始页面和目标页面的页面相似度时,由于存在目标触控操作执行后,跳转的目标页面与初始页面结构极为相似的情况,例如招聘网站中人物的简历信息,点开每个简历信息个人主义对应的页面结构均相同,此时则需要在页面结构相似的基础上,再进行页面内容的比较,进而判断两个页面是否相似。
57.进一步的,考虑到针对初始页面能够进行的触控操作类型较多,初始页面中的控件大部分情况下包含具有返回上一页的功能的控件,在对初始页面进行滑动操作的情况下,由于不能无限的对初始页面进行滑动,因此对初始页面的目标触控操还可以为最终滑动操作,除上述特殊触控操作之外,均需要对初始页面和目标页面进行相似度计算,具体实现如下:
58.确定所述目标触控操作的操作标识;在所述操作标识不为终止标识的情况下,执行所述计算所述初始页面和所述目标页面的页面相似度的步骤;相应的,所述计算所述初始页面和所述目标页面的页面相似度,包括:获取所述初始页面的初始节点树和所述目标页面的目标节点树,并基于所述初始节点树和所述目标节点树计算页面相似度。
59.具体的,操作标识是指目标触控操作的属性标识,包括但不限于终止标识、跳转标识和执行标识,相应的,终止标识包括返回标识和终止滑动标识,返回标识对应的触控操作具有返回、退回上一页、退回上一步操作、撤销的功能;跳转标识对应的触控操作具有页面跳转的功能,执行标识对应的触控操作具有页面操作功能,例如页面元素的缩放、拖拽和释放等;初始节点树是指根据初始页面对应的页面结构信息确定的树形结构图,初始节点树中包含的每个节点即为根据初始页面的页面结构信息中节点信息确定的,相应的,目标节点树是指根据目标页面对应的页面结构信息确定的树形结构图,目标节点树中包含的每个节点即为根据目标页面的页面结构信息中节点信息确定的。
60.基于此,确定目标触控操作的操作标识,在操作标识不为终止标识的情况下,表示目标页面不为对初始页面进行返回操作确定的页面,也不为对初始页面进行滑动,滑动至页面末尾位置确定的页面。此时即可计算初始页面和目标页面的页面相似度。根据初始页面的页面结构信息确定初始页面的初始节点树,以及根据目标页面的页面结构信息确定目标页面的目标节点树,基于初始节点树和目标节点树计算初始页面和目标页面的页面相似度。此外,在操作标识为终止标识的情况下,即可基于初始页面对应的页面结构信息选择与目标触控操作对应的下一触控操作并执行。
61.沿用上例,在确定针对资源管理页面的目标触控操作后,对目标触控操作的操作标识进行分析,在资源管理页面中确定的目标触控操作为对“资源分类”控件的点击操作的
情况下,则可以实现跳转到“资源分类”页面,进而对“资源分类”页面和资源管理页面进行相似度计算。然而在目标触控操作为对“回退”控件的点击的情况下,则会跳转回上一页面,由于在此之前已经完成了上一执行页面和资源管理页面的比对,因此无需再次比对,可以直接在资源管理页面中确定下一触控操作并执行。
62.综上所述,在目标触控操作的操作标识不为终止标识的前提下,对初始页面和目标页面进行相似度计算,从而确定初始页面和目标页面的相似程度。基于初始节点树和目标节点树计算页面相似度,能够提高相似度计算的准确率。
63.进一步的,在对初始页面和目标页面进行相似度计算时,考虑到初始页面和目标页面中包含的元素较为复杂,对每个元素进行触控操作后,还会继续进行页面跳转,因此在相似度计算时可以通过对初始节点树的初始节点树信息和目标节点树的目标节点树信息进行比较的方式实现,具体实现如下:
64.对所述初始节点树的初始节点树信息和所述目标节点树的目标节点树信息进行比较;在信息比较结果为相同的情况下,对所述初始节点树的初始树结构和所述目标节点树的目标树结构进行比较;在结构比较结果为不相同的情况下,对所述初始节点树中包含的初始节点和所述目标节点树中包含的目标节点进行循环比较,根据循环比较结果计算页面相似度;或者,在结构比较结果为相同的情况下,确定所述初始页面和所述目标页面的页面相似度。
65.具体的,初始节点树信息包括但不限于初始节点树中节点的节点属性信息,相应的,目标节点树信息包括但不限于目标节点树中节点的节点属性信息,其中,节点属性信息包括但不限于节点的元素索引(index)、节点的id(resource-id)、节点的类名(class)、节点的包名(package)、节点的描述信息(content-desc)、节点的显示文本(text)以及节点的元素位置坐标等信息(bounds);在对节点树信息进行比较时,则对节点的包名进行比较,若节点的包名不同,则可以确定初始页面和目标页面不相似;初始树结构是指初始页面对应的节点树结构,相应的,目标树结构即为目标页面对应的节点树结构;图3a是本说明书一实施例提供的第一种页面遍历方法的遍历流程图,节点树结构如图3a所示,节点树结构中包括根节点和子节点,不同的节点构成了具有多个层级结构的节点树,相应的,初始节点即为初始页面对应的初始节点树中包含的节点,目标节点即为目标页面对应的目标节点树中包含的节点,循环比较是指对初始节点树中包含的每个初始节点和目标节点树中包含的每个目标节点进行相似性比较。
66.基于此,对初始节点树的初始节点树信息和目标节点树的目标节点树信息进行比较,在信息比较结果为相同的情况下,表示初始节点树中根节点的包名(package)以及目标节点树中根节点的包名(package)相同(在比较结果为不相同的情况下,则可以直接判定初始页面和目标页面不相似),在此基础上,对初始节点树的初始树结构和目标节点树的目标树结构进行比较,实现对初始节点树和目标节点树的层级结构进行比较。在结构比较结果为不相同的情况下,表示初始节点树和目标节点树的层级结构不同,此时对初始节点树中包含的初始节点和目标节点树中包含的目标节点进行循环比较,确定不相同的节点层级以及不相同的节点,若初始节点树和目标节点树的结构相同,则判定初始页面和目标页面相似;若初始节点树和目标节点树的结构不相同,则根据对初始节点树中的初始节点和目标节点树中的目标节点进行循环比较的循环比较结果计算页面相似度。
67.沿用上例,在对页面相似性进行计算时,由于节点树中节点的包名(package)能够表示页面的标识信息,在页面标识信息不同的情况下,则可以确定两个进行比较的页面不相似。在包名相同的基础上,进一步对节点树的层级结构进行比较,判断两个页面的分别对应的节点树的层级结构是否相同,在资源管理页面对应的节点树为4层节点树,且资源分类页面对应的节点树也为4层节点树的情况下,则确定资源管理页面和资源分类页面相似。若层级结构不相同,则对资源管理页面对应的节点树中的节点,以及资源分类页面对应的节点树中对应的节点进行循环比较,进而根据比较结果计算页面相似度。
68.综上所述,对初始节点树的初始节点树信息和目标节点树的目标节点树信息进行比较,以及对初始节点树的初始树结构和目标节点树的目标树结构进行比较,进而再对初始节点树中包含的初始节点和目标节点树中包含的目标节点进行循环比较,从而通过多种比较方式计算初始页面和目标页面的页面相似度,从而提高页面相似度的准确性。
69.进一步的,在对初始节点树中包含的初始节点和目标节点树中包含的目标节点进行循环比较时,考虑到初始节点树中包含的初始节点数量较多,目标节点树中包含的目标节点数量也较多,因此在进行循环比较时为了对每个比较结果进行准确的记录,可以为每个目标节点预设相似参数,在完成目标节点的比较时,对该目标节点对应的相似参数进行更新,具体实现如下:
70.确定所述目标节点树中包含的n个目标节点,并预设每个目标节点对应的相似参数,其中,n为正整数;在n个目标节点中确定第i目标节点,并在所述初始节点树中确定与所述第i目标节点对应的第i初始节点,其中,i从1开始取值直至为n且为正整数;对所述第i初始节点的初始节点属性信息和所述第i目标节点的目标节点属性信息进行比较,根据比较结果对所述第i目标节点对应的相似参数进行更新;i按序自增,并执行所述在n个目标节点中确定第i目标节点,并在所述初始节点树中确定与所述第i目标节点对应的第i初始节点的步骤;直至i自增至n,根据所述目标节点树中每个目标节点对应的更新后的相似参数计算页面相似度。
71.具体的,节点属性信息包括但不限于节点的元素索引(index)、节点的id(resource-id)、节点的类名(class)、节点的包名(package)、节点的描述信息(content-desc)等信息(bounds),在对第i初始节点的初始节点属性信息和第i目标节点的目标节点属性信息进行比较时,则对节点的元素索引(index)、节点的id(resource-id)、节点的类名(class)、节点的包名(package)、节点的描述信息(content-desc)进行比较,在比较完成后对第i目标节点的相似参数进行更新,其中,相似参数用于表示节点的相似性。
72.基于此,确定目标节点树中包含的n个目标节点,并预设每个目标节点对应的相似参数,其中,n为正整数。在n个目标节点中确定第1目标节点,并在初始节点树中确定与第1目标节点对应的第1初始节点,对第1初始节点的初始节点属性信息和第1目标节点的目标节点属性信息进行比较,根据比较结果对第1目标节点对应的相似参数进行更新,在确定第1目标节点与第1初始节点相同或相似的情况下,对第1目标节点对应的相似参数进行更新,相似参数记为1或相似。再在n个目标节点中确定第2目标节点,以及在初始节点树中确定与第2目标节点进行比较的第2初始节点,对第2初始节点和第2目标节点进行比较,从而更新第2目标节点对应的相似参数,直至完成对n个目标节点的相似性比较,即可根据目标节点树中每个目标节点对应的更新后的相似参数计算页面相似度。
73.综上所述,通过对初始节点树中包含的初始节点和目标节点树中包含的目标节点进行循环比较,进而确定目标节点树中包含的每个节点与初始节点树中包含的节点的相似性,进而计算初始页面和目标页面的相似度,从而提高相似度计算的灵活性和准确度。
74.进一步的,考虑到存在初始页面和目标页面结构相同,但是页面中包含的文本内容不同的情况,以及存在初始页面和目标页面结构相同,但是由于页面比例变化导致页面中的控件发生偏移的情况,因此在初始节点属性信息和目标节点属性信息不同的情况下,还需要再对初始节点和目标节点的节点位置信息、文本信息进行比较,若节点的位置偏移在偏移阈值内,则判定初始节点和目标节点相同,具体实现如下:
75.对所述第i初始节点的初始节点属性信息和所述第i目标节点的目标节点属性信息进行比较;在所述初始节点属性信息和所述目标节点属性信息不同的情况下,对所述第i初始节点的初始节点标识信息和所述第i目标节点的目标节点标识信息进行比较;根据比较结果对所述第i目标节点对应的相似参数进行更新。
76.具体的,节点标识信息是指节点的显示文本(text)以及节点的元素位置,在对节点的元素位置进行比较时,预设位置偏移阈值,基于初始节点的元素位置对目标几点的元素位置的偏移量进行计算,在偏移量小于预设位置偏移阈值的情况下,则确定初始几点和目标节点相似。
77.基于此,对第1初始节点的初始节点属性信息和第1目标节点的目标节点属性信息进行比较。在初始节点属性信息和目标节点属性信息不同的情况下,对第1初始节点的初始节点标识信息和第1目标节点的目标节点标识信息进行比较,在确定目标节点的偏移量满足预设位置偏移阈值的情况下,则确定目标节点和初始节点相似,进而根据比较结果对第1目标节点对应的相似参数进行更新,用于表示节点的相似情况。
78.沿用上例,图3b是本说明书一实施例提供的第二种页面遍历方法的遍历流程图,如图3b所示,在对初始页面和目标页面分别对应的节点树中包含的节点进行循环比较时,可以按照节点树的树结构对每个节点进行依次比较。针对每个节点初始化相似参数,可以用diff_count表示节点不相似,用same_count表示节点相似,初始参数均为0,后续基于节点相似情况对相似参数进行更新。
79.确定初始页面对应的初始节点树中的初始根节点,以及目标页面对应的目标节点树中的目标根节点,判断初始根节点和目标根节点的节点属性是否相同,若是,对相同的节点进行记录或标记,再确定初始根节点对应的下一子节点,以及目标根节点对应的下一子节点,实现对节点号的更新,以及位移标志位的记录,节点相同可以设置位移标志位为false;若初始根节点和目标根节点的节点属性不相同,则表示初始根节点和目标根节点为不同的节点,此时判断节点的位移信息是否为true,即判断节点是否发生了位置变化(位移信息即为节点位置变化信息,可以用节点在页面中的位置坐标表示);若是,则对该节点下包含的每个子节点依次进行相似性判断,进而更新相似参数;若否,对节点除位置坐标之外的信息进行相似性判断,若不相似,则选择下一需要进行相似性判断的节点,并记录位移信息,即对相同的节点进行记录或标记;若相似,再对节点的位置坐标进行比较,从而确定偏移信息是否满足偏移条件,若满足则对相同的节点进行记录或标记,若不满足则判定页面不相似。
80.综上所述,通过对第i初始节点的初始节点标识信息和第i目标节点的目标节点标
识信息进行比较,从而实现对初始节点和目标节点的精细化比对,扩大了节点比较的范围,不局限于节点的属性信息的比较,在节点发生偏移,且偏移在阈值范围内的情况下,也能够判定节点相似。
81.进一步的,考虑到初始页面中可能存在具有页面返回功能的返回控件,在点击返回控件时,也可以实现页面的跳转,即退回到上一页面,由于上一页面和初始页面已经完成了页面相似度计算,因此为了避免重复计算,需要对目标触控操作对应的控件功能进行判断,在控件功能不为页面返回功能的情况下,进行页面相似性比较,具体实现如下:
82.在所述页面相似度不满足页面相似条件,且所述目标触控操作不为页面返回操作的情况下,对所述初始页面的初始页面结构和所述目标页面的目标页面结构进行比较,并根据比较结果对所述执行信息进行更新;相应的,所述根据所述页面相似度,所述执行信息和所述目标触控操作的属性信息,生成所述目标触控操作对应的遍历信息并存储至历史执行列表,包括:根据所述页面相似度,更新后的执行信息和所述目标触控操作的属性信息,生成所述目标触控操作对应的遍历信息并存储至历史执行列表。
83.具体的,在计算获得了初始页面和目标页面的页面相似度后,即可根据页面相似度确定页面是否相似,例如,预设页面相似阈值,在相似度大于预设相似阈值的情况下,判定页面相似;在相似度小于预设相似度阈值的情况下,判定页面不相似;页面返回操作即为通过触发具有返回功能的控件产生的页面操作。
84.基于此,在页面相似度不满足页面相似条件,且目标触控操作不为页面返回操作的情况下,表示初始页面和目标页面不相似,且目标触控操作也不为返回操作,此时对初始页面的初始页面结构和目标页面的目标页面结构进行比较,并根据比较结果对执行信息进行更新。根据页面相似度,更新后的执行信息和目标触控操作的属性信息,生成目标触控操作对应的遍历信息并存储至历史执行列表。
85.沿用上例,图3c是本说明书一实施例提供的第三种页面遍历方法的遍历流程图。如图3c所示,在对初始页面和目标页面进行页面结构相似性判断时,分别获取初始页面对应的初始节点树,以及目标页面对应的目标节点树。对初始节点树和目标节点树中包含的节点层级是否相同进行判断,若节点层级不相同,则判定初始页面和目标页面结构不相似;若节点层级相同,则对节点树是否相同进行判断,若节点树不相同,则判定初始页面和目标页面结构不相似;若节点树相同,则对节点树中包含的节点进行循环比对,比对初始节点树中节点的类型和位置坐标与目标节点树中节点的类型和位置坐标是否相同,在目标节点树中包含的全部节点比对完成后,对相同的节点数量进行统计,若相同的节点数量大于节点总数量的90%,则判断初始页面和目标页面结构相似。
86.在对初始节点树中节点的类型和位置坐标,与目标节点树中节点的类型和位置坐标进行比对过程中,先对初始节点树中第一初始节点的类型和目标节点树中第一目标节点的类型进行比对,在类型不相同的情况下,在初始节点树中确定第二初始节点,以及在目标节点树中确定第二目标节点,进而再进行节点的类型比对;在类型相同的情况下,对初始节点树中第一初始节点的位置坐标和目标节点树中第一目标节点的位置坐标进行比对,若相同,则记为相同的节点;若不相同,则对第一初始节点的父节点的位置坐标和第一目标节点的父节点的位置坐标进行比对,若相同,则记为相同的节点;若不相同,则在初始节点树中确定第二初始节点,以及在目标节点树中确定第二目标节点,进而再进行节点的类型比对,
直至目标节点树中全部节点均完成比对。
87.综上所述,在页面相似度不满足页面相似条件,且目标触控操作不为页面返回操作的情况下,对初始页面和目标页面的页面结构进行相似性判断,从而在确定初始页面和目标页面不相似的情况下,再次进行针对页面结构进行相似性判断,从而提高页面相似性确定的准确性。
88.步骤208,根据所述页面相似度,所述执行信息和所述目标触控操作的属性信息,生成所述目标触控操作对应的遍历信息并存储至历史执行列表。
89.具体的,在上述计算得到初始页面和目标页面的页面相似度之后,即可根据页面相似度,执行信息和目标触控操作的属性信息,生成目标触控操作对应的遍历信息并存储至历史执行列表,进而实现基于历史执行列表中存储的遍历信息确定与目标触控操作对应的下一触控操作,其中,目标触控操作的属性信息包括但不限于目标触控操作的操作类型、操作id等信息,在目标触控操作为针对控件的操作的情况下,属性信息包括但不限于触控类型、控件id、控件在初始页面中的位置坐标等信息;在目标触控操作为针对初始页面的页面滑动指令的情况下,属性信息包括但不限于滑动次数、滑动类型等信息。
90.基于此,在计算得到初始页面和目标页面的页面相似度之后,根据页面相似度,执行信息和目标触控操作的属性信息,生成目标触控操作对应的遍历信息并存储至历史执行列表,进而实现基于历史执行列表中存储的遍历信息确定与目标触控操作对应的下一触控操作。
91.进一步的,考虑到针对初始页面执行目标触控操作后,可能会在初始页面中出现弹窗,因此在计算获得了初始页面和目标页面之间的页面相似度后,还需要对目标页面进行弹窗检测,具体实现如下:
92.在所述页面相似度大于预设相似度阈值的情况下,读取所述初始页面对应的弹窗信息列表;在所述弹窗信息列表中不包含所述目标触控操作对应的弹窗信息,且所述目标页面包含与所述目标触控操作对应的目标触控弹窗的情况下,基于所述目标触控操作生成弹窗检测结果;根据所述弹窗检测结果,所述执行信息和所述目标触控操作的属性信息,生成所述目标触控操作对应的遍历信息并存储至历史执行列表。
93.具体的,预设相似度阈值是指针对页面相似度预先设定的阈值,用于对初始页面和目标页面是否相似进行判定,在初始页面和目标页面的页面相似度大于预设相似度阈值的情况下,则表示初始页面和目标页面相似;在初始页面和目标页面的页面相似度不于预设相似度阈值的情况下,则表示初始页面和目标页面不相似;弹窗信息列表用于记录在页面遍历过程中获得的弹窗信息,包括但不限于弹窗产生的页面id、弹窗对应的触控操作、针对弹窗进行的弹窗处理操作信息等;目标触控弹窗是指执行目标触控操作后产生的弹窗,即目标页面中新增的弹窗或在目标页面中展示后隐藏或消失的弹窗;弹窗检测结果即为执行目标触控操作后获得的弹窗结果。
94.基于此,在页面相似度大于预设相似度阈值的情况下,读取初始页面对应的弹窗信息列表,判断弹窗信息列表中是否存在与当前目标触控操作以及目标页面对应的弹窗信息,在弹窗信息列表中不包含目标触控操作对应的弹窗信息的情况下,判断目标页面是否包含与目标触控操作对应的目标触控弹窗,若不包含,则表示目标页面中不存在目标触控弹窗,则可以基于目标触控操作生成弹窗检测结果,进而根据弹窗检测结果,执行信息和目
标触控操作的属性信息,生成目标触控操作对应的遍历信息并存储至历史执行列表。此外,在目标页面包含与目标触控操作对应的目标触控弹窗时,表示目标页面中存在目标触控弹窗,此时即可基于目标触控弹窗生成弹窗信息并存储至弹窗信息列表,用于对目标页面产生的弹窗进行信息记录。
95.沿用上例,在初步判断资源管理页面和资源分类页面相似的情况下,根据弹窗信息列表确定资源分类页面中是否对应弹窗信息,若未在弹窗信息列表中检测到则对资源管理页面和资源分类页面中包含的节点产生的节点变化进行判断,在节点产生了变化的情况下,则判断资源分类页面中是否展示了新的弹窗提示,展示了新的弹窗提示,则对弹窗信息进行记录。
96.综上所述,通过对目标页面进行弹窗检测,能够进一步确定目标页面是否展示了弹窗,从而提高初始页面遍历的全面性。
97.进一步的,考虑到在获得了目标页面之后,存在目标页面中不包含可操作控件的情况,此时即可在初始页面中确定与目标触控操作对应的下一触控操作;然而大部分情况下,目标页面中包含可操作控件,因此可以继续针对目标页面确定与目标触控操作对应的下一触控操作,具体实现如下:
98.基于所述遍历信息确定关联所述目标页面的第一触控操作,将所述目标页面作为初始页面,所述第一触控操作作为目标触控操作,并执行通过执行所述目标触控操作确定目标页面,并记录所述目标触控操作对应的执行信息的步骤;或者,基于所述遍历信息确定关联所述初始页面的第二触控操作,将所述第二触控操作作为目标触控操作,并执行所述通过执行所述目标触控操作确定目标页面,并记录所述目标触控操作对应的执行信息的步骤。
99.具体的,第一触控操作是指在目标页面的基础上,针对目标页面中包含的可操作控件进行的触控操作,或针对目标页面进行的触控操作;相应的,第二触控操作是指在初始页面的基础上,针对初始页面中包含的可操作控件进行的触控操作,或针对初始页面进行的触控操作。
100.基于此,基于遍历信息确定关联目标页面的第一触控操作,将目标页面作为初始页面,将第一触控操作作为目标触控操作,通过执行目标触控操作确定目标页面,并记录目标触控操作对应的执行信息;或者,基于遍历信息中目标触控操作的操作标识确定关联初始页面的第二触控操作,将第二触控操作作为目标触控操作,并通过执行目标触控操作确定目标页面,记录目标触控操作对应的执行信息。
101.实际应用中,图3d是本说明书一实施例提供的第四种页面遍历方法的遍历流程图。如图3d所示,在点击初始页面的控件1后,即可获得目标页面,由于目标页面中包含可操作控件“控件1-1”,因此可以继续点击目标页面中的“控件1-1”,进而获得第三页面;然而在目标页面中不存在可操作控件的情况下,则可以继续在初始页面中确定可操作控件“控件2”并执行相应的触控操作。
102.综上所述,在根据页面相似度,执行信息和目标触控操作的属性信息,生成目标触控操作对应的遍历信息并存储至历史执行列表之后,即可确定与目标触控操作对应的下一触控操作,可以基于目标页面确定,还可以基于初始页面确定,进而提高页面遍历的完全性。
103.进一步的,考虑到初始页面对应的触控操作数量较多,且执行每个触控操作后均可记录一条遍历信息,当初始页面对应的全部触控操作执行完成后,对每个触控操作对应的遍历信息进行统计整合即可获得初始页面对应的页面遍历信息,具体实现如下:
104.在所述初始页面对应的触控操作执行完成后,读取所述历史执行列表中存储的至少一条遍历信息;对至少一条遍历信息进行整合处理,根据处理结果生成所述初始页面对应的页面遍历信息。
105.具体的,整合处理是指对每个触控操作对应的遍历信息进行的统计和分析处理,处理结果即为对初始页面中每个执行后的触控操作对应的遍历信息进行整合后获得的整合结果,例如,初始页面对应的触控操作包括3个触控操作,其中,触控操作1执行后,生成目标页面1;触控操作2执行后,生成目标页面2;触控操作3执行后,生成目标页面3,而目标页面1还对应3个触控操作,则目标页面1对应的3个触控操作执行后,分别获得目标页面对应的3个第三页面,因此在对初始页面对应的页面遍历信息进行确定时,则需要对每个触控操作的遍历信息进行统计,统计页面数量、每个页面对应的触控操作执行数量等信息。
106.基于此,在初始页面对应的触控操作执行完成后,每个触控操作均对应一条遍历信息,此时历史执行列表中存储了每个触控操作对应的遍历信息,因此读取历史执行列表中存储的至少一条遍历信息,并对读取到的至少一条遍历信息进行整合处理,即可根据处理结果生成初始页面对应的页面遍历信息。
107.沿用上例,资源管理页面对应的触控操作包括3个触控操作,其中,触控操作1执行后,生成资源分类页面1;触控操作2执行后,生成资源分类页面2;触控操作3执行后,生成资源分类页面3,而资源分类页面1还对应5个触控操作,则资源分类页面1对应的5个触控操作执行后,分别获得资源分类页面对应的5个第三页面,资源分类页面2还对应2个触控操作,则资源分类页面2对应的2个触控操作执行后,分别获得资源分类页面对应的2个第四页面,因此在对资源管理页面对应的页面遍历信息进行确定时,则需要对每个触控操作的遍历信息进行统计,统计页面数量、每个页面对应的触控操作执行数量等信息。
108.综上所述,本说明书一实施例通过获取初始页面的页面结构信息,根据页面结构信息确定目标触控操作并执行,再对初始页面和执行目标触控操作后获得的目标页面进行相似性比较计算页面相似度,从而生成针对目标触控操作的遍历信息并记录,以便于后续确定与目标触控操作对应的下一触控操作,实现了对初始页面中包含的全部触控操作进行遍历,提高初始页面遍历的全面性,通过记录目标触控操作对应的遍历信息的方式,避免了目标触控操作的重复执行,提高初始页面的遍历效率。
109.下述结合附图4,以本说明书提供的页面遍历方法在应用程序页面遍历的应用为例,对所述页面遍历方法进行进一步说明。其中,图4是本说明书一实施例提供的一种应用于应用程序页面遍历的页面遍历方法的处理流程图,具体包括以下步骤:
110.步骤401:执行基于上一页面的页面结构信息确定的触控操作,确定当前页面,并将执行记录存储至历史记录列表。
111.历史执行列表用于记录应用程序页面遍历的相关信息,初始化历史执行列表后(首次执行历史记录列表为空),每次操作执行后会将执行记录存储至历史记录列表中,其中,上一页面为开始进行应用程序页面遍历的页面,相应的,当前页面即为执行触控操作后展示的页面。
112.步骤402:在历史记录列表中获取上一操作的执行记录,判断序号是否为scroll_end或者back,若是,执行步骤404;若否,则执行步骤403。
113.步骤403:判断上一操作的执行记录中操作标识是否为首次滑动(滑动1次时,标识为scroll_1,判断上一页面是否首次滑动),若是,则执行步骤405;若否,则执行步骤408。
114.步骤404:在历史记录列表中进行遍历,确定与当前展示的当前页面相同的页面id相同的历史记录,根据历史记录确定待执行的下一触控操作。
115.步骤405:判断上一页面和当前页面之间是否相似,若是,执行步骤406;若否,执行步骤407。
116.步骤406:若上一页面和当前页面相似,表示当前页面已经无法再继续滑动,记录标识scroll_end,表示当前页面遍历完成滑动完毕,无需进行后续的遍历操作。
117.步骤407:若上一页面和当前页面不相似,表示上一页面已经进行了滑动,页面发生了变化,依次比对上一页面和当前页面中包含的节点的属性(去除bound(节点位置坐标)属性),确定首个属性不一致的节点标识并记录,节点标识的记录格式可以为:scroll_x_y_total。其中x表示滑动次数,y表示选择的节点id,total为节点总数。
118.步骤408:在触控操作为针对上一页面中的控件进行点击、拖动等操作的情况下,对上一页面和触控操作执行后展示的当前页面分别对应的xml文件进行相似性比对,精准判断页面是否相似,若是,执行步骤409;若否,执行步骤410。
119.步骤409:在上一页面和当前页面相同时,则在上一页面的操作执行记录中获取下一个执行控件的序号。
120.步骤410:判断上一页面和当前页面是否相似,若否,则执行步骤411;若是,则执行步骤412。
121.如图5所示,在判断上一页面和当前页面是否相似时,可以先获取上一页面和当前页面这两个页面的节点树信息,比较上一页面和当前页面的包名(package)是否相同,若否,则表示上一页面和当前页面不相似;若是,则对上一页面和当前页面分别对应的节点树结构进行判断,若节点树结构相同,则判定上一页面和当前页面相似;若节点树结构不同,则对上一页面和当前页面分别对应的节点树中包含的节点进行循环比较,从而计算相同的节点的数量和不同的节点的数量,根据计算结果确定上一页面和当前页面是否相似。
122.进一步的,在对上一页面和当前页面分别对应的节点树中包含的节点进行循环比较时,由于上一页面和当前页面分别对应的节点树结构不同,表示上一页面和当前页面分别对应的两个节点树中,节点无法实现一一对应,因此需要确定无法对应的节点所在的节点层级,以及节点数量。
123.在对上一页面和当前页面分别对应的节点树中包含的节点进行循环比较时,可以按照节点树的树结构对每个节点进行依次比较。针对每个节点上一化相似参数,可以用diff_count表示节点不相似,用same_count表示节点相似,上一参数均为0,后续基于节点相似情况对相似参数进行更新。
124.确定上一页面对应的上一节点树中的上一根节点,以及当前页面对应的当前节点树中的当前根节点,判断上一根节点和当前根节点的节点属性是否相同,若是,对相同的节点进行记录或标记,再确定上一根节点对应的下一子节点,以及当前根节点对应的下一子节点,实现对节点号的更新,以及位移标志位的记录,节点相同可以设置位移标志位为
false;若上一根节点和当前根节点的节点属性不相同,则表示上一根节点和当前根节点为不同的节点,此时判断节点的位移信息是否为true,即判断节点是否发生了位置变化(位移信息即为节点位置变化信息,可以用节点在页面中的位置坐标表示),若是,则对该节点下包含的每个子节点依次进行相似性判断,进而更新相似参数;若否,对节点除位置坐标之外的信息进行相似性判断,若不相似,则选择下一需要进行相似性判断的节点,并记录位移信息,即对相同的节点进行记录或标记;若相似,再对节点的位置坐标进行比较,从而确定偏移信息是否满足偏移条件,若满足则对相同的节点进行记录或标记,若不满足则判定页面不相似。
125.步骤411:判断当前页面是否为触发返回键进入的页面(即进行页面返回判断),若是,执行步骤413;若否,执行步骤414。
126.步骤412:判断当前页面是否存在已处理的弹窗,若是,执行步骤413;若否,执行步骤416。
127.对当前页面是否存在已处理的弹窗进行检测。由于每次处理完页面弹窗信息后,会将弹窗对应的执行信息记录在弹窗信息列表中,因此当检测到页面出现弹窗时,即可遍历弹窗信息列表,若确定当前弹窗对应的触控操作信息存储于弹窗信息列表,则根据弹窗信息列表中的记录确定下一触控操操作。
128.步骤413:则基于上一页面计算出下一个执行控件的序号,根据控件序号执行相应的触控操作。
129.步骤414:判断页面结构是否相似,若是,执行步骤415;若否,执行步骤404。
130.进行页面结构相似性判断,从而降低页面结构相同但是页面内容不同的页面的重复操作,例如链接详情页面、个人简介页面等。若页面结构相似,则将当前触控操作记录为标识back,若页面结构不相似,则在历史记录列表中确定与当前页面对应的下一触控操作。
131.在对上一页面和当前页面进行页面结构相似性判断时,分别获取上一页面对应的上一节点树,以及当前页面对应的当前节点树。对上一节点树和当前节点树中包含的节点层级是否相同进行判断,若节点层级不相同,则判定上一页面和当前页面结构不相似;若节点层级相同,则对节点树是否相同进行判断,若节点树不相同,则判定上一页面和当前页面结构不相似;若节点树相同,则对节点树中包含的节点进行循环比对,比对上一节点树中节点的类型和位置坐标与当前节点树中节点的类型和位置坐标是否相同,在当前节点树中包含的全部节点比对完成后,对相同的节点数量进行统计,若相同的节点数量大于节点总数量的90%,则判断上一页面和当前页面结构相似。
132.在对上一节点树中节点的类型和位置坐标,与当前节点树中节点的类型和位置坐标进行比对过程中,先对上一节点树中第一上一节点的类型和当前节点树中第一当前节点的类型进行比对,在类型不相同的情况下,在上一节点树中确定第二上一节点,以及在当前节点树中确定第二当前节点,进而再进行节点的类型比对;在类型相同的情况下,对上一节点树中第一上一节点的位置坐标和当前节点树中第一当前节点的位置坐标进行比对,若相同,则记为相同的节点;若不相同,则对第一上一节点的父节点的位置坐标和第一当前节点的父节点的位置坐标进行比对,若相同,则记为相同的节点;若不相同,则在上一节点树中确定第二上一节点,以及在当前节点树中确定第二当前节点,进而再进行节点的类型比对,直至当前节点树中全部节点均完成比对。
133.步骤415:返回下一个触控操作为back,即执行返回操作。
134.步骤416:进行页面节点变化的判断,此判断用于上一触控操作执行时导致页面发生变化的情况。判断页面节点是否存在变化,若是,执行步骤413;若否执行步骤417。
135.步骤417:判断当前页面是否存在新增的弹窗或者消失的弹窗,若是,执行步骤413;若否,执行步骤404。
136.综上所述,本说明书一实施例通过获取初始页面的页面结构信息,根据页面结构信息确定目标触控操作并执行,再对初始页面和执行目标触控操作后获得的目标页面进行相似性比较计算页面相似度,从而生成针对目标触控操作的遍历信息并记录,以便于后续确定与目标触控操作对应的下一触控操作,实现了对初始页面中包含的全部触控操作进行遍历,提高初始页面遍历的全面性,通过记录目标触控操作对应的遍历信息的方式,避免了目标触控操作的重复执行,提高初始页面的遍历效率。
137.与上述方法实施例相对应,本说明书还提供了页面遍历装置实施例,图6示出了本说明书一实施例提供的一种页面遍历装置的结构示意图。如图6所示,该装置包括:
138.确定模块602,被配置为基于初始页面的页面结构信息确定目标触控操作;
139.记录模块604,被配置为通过执行所述目标触控操作确定目标页面,并记录所述目标触控操作对应的执行信息;
140.计算模块606,被配置为计算所述初始页面和所述目标页面的页面相似度;
141.生成模块608,被配置为根据所述页面相似度,所述执行信息和所述目标触控操作的属性信息,生成所述目标触控操作对应的遍历信息并存储至历史执行列表。
142.一个可选地实施例中,所述计算模块606,还被配置为:
143.确定所述目标触控操作的操作标识;在所述操作标识不为终止标识的情况下,执行所述计算所述初始页面和所述目标页面的页面相似度的步骤;相应的,所述计算所述初始页面和所述目标页面的页面相似度,包括:获取所述初始页面的初始节点树和所述目标页面的目标节点树,并基于所述初始节点树和所述目标节点树计算页面相似度。
144.一个可选地实施例中,所述计算模块606,进一步被配置为:
145.对所述初始节点树的初始节点树信息和所述目标节点树的目标节点树信息进行比较;在信息比较结果为相同的情况下,对所述初始节点树的初始树结构和所述目标节点树的目标树结构进行比较;在结构比较结果为不相同的情况下,对所述初始节点树中包含的初始节点和所述目标节点树中包含的目标节点进行循环比较,根据循环比较结果计算页面相似度;或者,在结构比较结果为相同的情况下,确定所述初始页面和所述目标页面的页面相似度。
146.一个可选地实施例中,所述计算模块606,进一步被配置为:
147.确定所述目标节点树中包含的n个目标节点,并预设每个目标节点对应的相似参数,其中,n为正整数;在n个目标节点中确定第i目标节点,并在所述初始节点树中确定与所述第i目标节点对应的第i初始节点,其中,i从1开始取值直至为n且为正整数;对所述第i初始节点的初始节点属性信息和所述第i目标节点的目标节点属性信息进行比较,根据比较结果对所述第i目标节点对应的相似参数进行更新;i按序自增,并执行所述在n个目标节点中确定第i目标节点,并在所述初始节点树中确定与所述第i目标节点对应的第i初始节点的步骤;直至i自增至n,根据所述目标节点树中每个目标节点对应的更新后的相似参数计
算页面相似度。
148.一个可选地实施例中,所述计算模块606,进一步被配置为:
149.对所述第i初始节点的初始节点属性信息和所述第i目标节点的目标节点属性信息进行比较;在所述初始节点属性信息和所述目标节点属性信息不同的情况下,对所述第i初始节点的初始节点标识信息和所述第i目标节点的目标节点标识信息进行比较;根据比较结果对所述第i目标节点对应的相似参数进行更新。
150.一个可选地实施例中,所述计算模块606,还被配置为:
151.在所述页面相似度不满足页面相似条件,且所述目标触控操作不为页面返回操作的情况下,对所述初始页面的初始页面结构和所述目标页面的目标页面结构进行比较,并根据比较结果对所述执行信息进行更新;相应的,所述根据所述页面相似度,所述执行信息和所述目标触控操作的属性信息,生成所述目标触控操作对应的遍历信息并存储至历史执行列表,包括:根据所述页面相似度,更新后的执行信息和所述目标触控操作的属性信息,生成所述目标触控操作对应的遍历信息并存储至历史执行列表。
152.一个可选地实施例中,所述生成模块608,进一步被配置为:
153.在所述页面相似度大于预设相似度阈值的情况下,读取所述初始页面对应的弹窗信息列表;在所述弹窗信息列表中不包含所述目标触控操作对应的弹窗信息,且所述目标页面包含与所述目标触控操作对应的目标触控弹窗的情况下,基于所述目标触控操作生成弹窗检测结果;根据所述弹窗检测结果,所述执行信息和所述目标触控操作的属性信息,生成所述目标触控操作对应的遍历信息并存储至历史执行列表。
154.一个可选地实施例中,所述生成模块608,还被配置为:
155.基于所述遍历信息确定关联所述目标页面的第一触控操作,将所述目标页面作为初始页面,所述第一触控操作作为目标触控操作,并执行通过执行所述目标触控操作确定目标页面,并记录所述目标触控操作对应的执行信息的步骤;或者,基于所述遍历信息确定关联所述初始页面的第二触控操作,将所述第二触控操作作为目标触控操作,并执行所述通过执行所述目标触控操作确定目标页面,并记录所述目标触控操作对应的执行信息的步骤。
156.一个可选地实施例中,所述生成模块608,还被配置为:
157.在所述初始页面对应的触控操作执行完成后,读取所述历史执行列表中存储的至少一条遍历信息;对至少一条遍历信息进行整合处理,根据处理结果生成所述初始页面对应的页面遍历信息。
158.一个可选地实施例中,所述确定模块602,进一步被配置为:
159.确定应用程序的初始页面;获取所述初始页面的页面结构信息,并基于所述页面结构信息确定所述初始页面包含的可操作控件;针对所述可操作控件或所述初始页面确定目标触控操作。
160.综上所述,本说明书一实施例通过获取初始页面的页面结构信息,根据页面结构信息确定目标触控操作并执行,再对初始页面和执行目标触控操作后获得的目标页面进行相似性比较计算页面相似度,从而生成针对目标触控操作的遍历信息并记录,以便于后续确定与目标触控操作对应的下一触控操作,实现了对初始页面中包含的全部触控操作进行遍历,提高初始页面遍历的全面性,通过记录目标触控操作对应的遍历信息的方式,避免了
目标触控操作的重复执行,提高初始页面的遍历效率。
161.上述为本实施例的一种页面遍历装置的示意性方案。需要说明的是,该页面遍历装置的技术方案与上述的页面遍历方法的技术方案属于同一构思,页面遍历装置的技术方案未详细描述的细节内容,均可以参见上述页面遍历方法的技术方案的描述。
162.图7示出了根据本说明书一实施例提供的一种计算设备700的结构框图。该计算设备700的部件包括但不限于存储器710和处理器720。处理器720与存储器710通过总线730相连接,数据库750用于保存数据。
163.计算设备700还包括接入设备740,接入设备740使得计算设备700能够经由一个或多个网络760通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备740可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
164.在本说明书的一个实施例中,计算设备700的上述部件以及图7中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图7所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
165.计算设备700可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备700还可以是移动式或静止式的服务器。
166.其中,处理器720用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述页面遍历方法的步骤。
167.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的页面遍历方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述页面遍历方法的技术方案的描述。
168.本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现上述页面遍历方法的步骤。
169.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的页面遍历方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述页面遍历方法的技术方案的描述。
170.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
171.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所
述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
172.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书并不受所描述的动作顺序的限制,因为依据本说明书,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书所必须的。
173.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
174.以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
技术特征:
1.一种页面遍历方法,其特征在于,包括:基于初始页面的页面结构信息确定目标触控操作;通过执行所述目标触控操作确定目标页面,并记录所述目标触控操作对应的执行信息;计算所述初始页面和所述目标页面的页面相似度;根据所述页面相似度,所述执行信息和所述目标触控操作的属性信息,生成所述目标触控操作对应的遍历信息并存储至历史执行列表。2.根据权利要求1所述的方法,其特征在于,所述计算所述初始页面和所述目标页面的页面相似度步骤执行之后,还包括:确定所述目标触控操作的操作标识;在所述操作标识不为终止标识的情况下,执行所述计算所述初始页面和所述目标页面的页面相似度的步骤;相应的,所述计算所述初始页面和所述目标页面的页面相似度,包括:获取所述初始页面的初始节点树和所述目标页面的目标节点树,并基于所述初始节点树和所述目标节点树计算页面相似度。3.根据权利要求2所述的方法,其特征在于,所述基于所述初始节点树和所述目标节点树计算页面相似度,包括:对所述初始节点树的初始节点树信息和所述目标节点树的目标节点树信息进行比较;在信息比较结果为相同的情况下,对所述初始节点树的初始树结构和所述目标节点树的目标树结构进行比较;在结构比较结果为不相同的情况下,对所述初始节点树中包含的初始节点和所述目标节点树中包含的目标节点进行循环比较,根据循环比较结果计算页面相似度;或者,在结构比较结果为相同的情况下,确定所述初始页面和所述目标页面的页面相似度。4.根据权利要求3所述的方法,其特征在于,所述对所述初始节点树中包含的初始节点和所述目标节点树中包含的目标节点进行循环比较,根据循环比较结果计算页面相似度,包括:确定所述目标节点树中包含的n个目标节点,并预设每个目标节点对应的相似参数,其中,n为正整数;在n个目标节点中确定第i目标节点,并在所述初始节点树中确定与所述第i目标节点对应的第i初始节点,其中,i从1开始取值直至为n且为正整数;对所述第i初始节点的初始节点属性信息和所述第i目标节点的目标节点属性信息进行比较,根据比较结果对所述第i目标节点对应的相似参数进行更新;i按序自增,并执行所述在n个目标节点中确定第i目标节点,并在所述初始节点树中确定与所述第i目标节点对应的第i初始节点的步骤;直至i自增至n,根据所述目标节点树中每个目标节点对应的更新后的相似参数计算页面相似度。5.根据权利要求4所述的方法,其特征在于,所述对所述第i初始节点的初始节点属性信息和所述第i目标节点的目标节点属性信息进行比较,根据比较结果对所述第i目标节点对应的相似参数进行更新,包括:
对所述第i初始节点的初始节点属性信息和所述第i目标节点的目标节点属性信息进行比较;在所述初始节点属性信息和所述目标节点属性信息不同的情况下,对所述第i初始节点的初始节点标识信息和所述第i目标节点的目标节点标识信息进行比较;根据比较结果对所述第i目标节点对应的相似参数进行更新。6.根据权利要求1所述的方法,其特征在于,所述计算所述初始页面和所述目标页面的页面相似度步骤执行之后,还包括:在所述页面相似度不满足页面相似条件,且所述目标触控操作不为页面返回操作的情况下,对所述初始页面的初始页面结构和所述目标页面的目标页面结构进行比较,并根据比较结果对所述执行信息进行更新;相应的,所述根据所述页面相似度,所述执行信息和所述目标触控操作的属性信息,生成所述目标触控操作对应的遍历信息并存储至历史执行列表,包括:根据所述页面相似度,更新后的执行信息和所述目标触控操作的属性信息,生成所述目标触控操作对应的遍历信息并存储至历史执行列表。7.根据权利要求1所述的方法,其特征在于,所述根据所述页面相似度,所述执行信息和所述目标触控操作的属性信息,生成所述目标触控操作对应的遍历信息并存储至历史执行列表,包括:在所述页面相似度大于预设相似度阈值的情况下,读取所述初始页面对应的弹窗信息列表;在所述弹窗信息列表中不包含所述目标触控操作对应的弹窗信息,且所述目标页面包含与所述目标触控操作对应的目标触控弹窗的情况下,基于所述目标触控操作生成弹窗检测结果;根据所述弹窗检测结果,所述执行信息和所述目标触控操作的属性信息,生成所述目标触控操作对应的遍历信息并存储至历史执行列表。8.根据权利要求1所述的方法,其特征在于,所述根据所述页面相似度,所述执行信息和所述目标触控操作的属性信息,生成所述目标触控操作对应的遍历信息并存储至历史执行列表步骤执行之后,还包括:基于所述遍历信息确定关联所述目标页面的第一触控操作,将所述目标页面作为初始页面,所述第一触控操作作为目标触控操作,并执行通过执行所述目标触控操作确定目标页面,并记录所述目标触控操作对应的执行信息的步骤;或者,基于所述遍历信息确定关联所述初始页面的第二触控操作,将所述第二触控操作作为目标触控操作,并执行所述通过执行所述目标触控操作确定目标页面,并记录所述目标触控操作对应的执行信息的步骤。9.根据权利要求1所述的方法,其特征在于,所述根据所述页面相似度,所述执行信息和所述目标触控操作的属性信息,生成所述目标触控操作对应的遍历信息并存储至历史执行列表步骤执行之后,还包括:在所述初始页面对应的触控操作执行完成后,读取所述历史执行列表中存储的至少一条遍历信息;
对至少一条遍历信息进行整合处理,根据处理结果生成所述初始页面对应的页面遍历信息。10.根据权利要求1所述的方法,其特征在于,所述基于初始页面的页面结构信息确定目标触控操作,包括:确定应用程序的初始页面;获取所述初始页面的页面结构信息,并基于所述页面结构信息确定所述初始页面包含的可操作控件;针对所述可操作控件或所述初始页面确定目标触控操作。11.一种页面遍历装置,其特征在于,包括:确定模块,被配置为基于初始页面的页面结构信息确定目标触控操作;记录模块,被配置为通过执行所述目标触控操作确定目标页面,并记录所述目标触控操作对应的执行信息;计算模块,被配置为计算所述初始页面和所述目标页面的页面相似度;生成模块,被配置为根据所述页面相似度,所述执行信息和所述目标触控操作的属性信息,生成所述目标触控操作对应的遍历信息并存储至历史执行列表。12.一种计算设备,其特征在于,包括存储器和处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现权利要求1至10任意一项所述页面遍历方法的步骤。13.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1至10任意一项所述页面遍历方法的步骤。
技术总结
本说明书提供页面遍历方法及装置,其中所述页面遍历方法包括:基于初始页面的页面结构信息确定目标触控操作;通过执行所述目标触控操作确定目标页面,并记录所述目标触控操作对应的执行信息;计算所述初始页面和所述目标页面的页面相似度;根据所述页面相似度,所述执行信息和所述目标触控操作的属性信息,生成所述目标触控操作对应的遍历信息并存储至历史执行列表。执行列表。执行列表。
技术研发人员:潘栩荣 洪金芬 韩婷婷
受保护的技术使用者:恒生电子股份有限公司
技术研发日:2023.04.19
技术公布日:2023/8/4
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/