页面处理方法、装置、设备、存储介质及计算机程序产品与流程
未命名
07-14
阅读:202
评论:0
1.本技术涉及计算机技术领域,尤其涉及一种页面处理方法、一种页面处理装置、一种计算机设备、一种计算机可读存储介质及一种计算机程序产品。
背景技术:
2.用户界面(user interface,ui)意为人与系统之间的界面,指用户和某些系统进行交互的方法的集合,设计人员可以设计用户界面包括的各个视图及其位置、尺寸大小等信息,再由开发人员将设计的用户界面落实到应用程序中。ui测试包括ui还原测试,通过将实际显示的用户界面与设计的用户界面进行人眼对比,可以验证实际显示的用户界面是否还原了设计的用户界面,但这种测试方式比较主观,而且开发人员需要花费大量的时间去改动底层代码,当底层代码改动时,又需要重新编译并运行代码,对于一些大型的应用来说,重新编译的时间过长且容易造成卡顿。
技术实现要素:
3.本技术实施例提供了一种页面处理方法、装置、设备、存储介质及计算机程序产品,可以准确地定位到显示异常的视图,提升对用户界面进行还原测试的高效性和准确性。
4.一方面,本技术实施例提供了一种页面处理方法,应用于客户端的页面控制器,所述方法包括:
5.在待处理页面对应的第一视图集合包括的各个视图加载完成之后,将所述第一视图集合包括的各个视图的实际显示数据与参考显示数据进行匹配,所述第一视图集合包括一个或多个视图;
6.若目标视图的实际显示数据与对应的参考显示数据不匹配,则向服务器发送页面处理请求,所述目标视图为所述第一视图集合包括的任意一个视图;
7.接收所述服务器响应所述页面处理请求发送的所述待处理页面对应的调整后的布局控制数据,所述调整后的布局控制数据用于对所述目标视图和所述目标视图的关联视图中的一个或多个进行重新加载。
8.一方面,本技术实施例提供了一种页面处理方法,所述方法包括:
9.接收客户端发送的页面处理请求,所述页面处理请求是所述客户端在确定待处理页面对应的第一视图集合中目标视图的实际显示数据与对应的参考显示数据不匹配时生成的,所述第一视图集合包括一个或多个视图;
10.响应所述页面处理请求,确定所述待处理页面对应的调整后的布局控制数据;
11.向所述客户端发送所述调整后的布局控制数据,所述调整后的布局控制数据用于对所述目标视图和所述目标视图的关联视图中的一个或多个进行重新加载。
12.一方面,本技术实施例提供了一种页面处理装置,应用于客户端的页面控制器,所述装置包括:
13.处理单元,用于在待处理页面对应的第一视图集合包括的各个视图加载完成之
后,将所述第一视图集合包括的各个视图的实际显示数据与参考显示数据进行匹配,所述第一视图集合包括一个或多个视图;
14.发送单元,用于若目标视图的实际显示数据与对应的参考显示数据不匹配,则向服务器发送页面处理请求,所述目标视图为所述第一视图集合包括的任意一个视图;
15.接收单元,用于接收所述服务器响应所述页面处理请求发送的所述待处理页面对应的调整后的布局控制数据,所述调整后的布局控制数据用于对所述目标视图和所述目标视图的关联视图中的一个或多个进行重新加载。
16.一方面,本技术实施例提供了一种页面处理装置,所述装置包括:
17.接收单元,用于接收客户端发送的页面处理请求,所述页面处理请求是所述客户端在确定待处理页面对应的第一视图集合中目标视图的实际显示数据与对应的参考显示数据不匹配时生成的,所述第一视图集合包括一个或多个视图;
18.处理单元,用于响应所述页面处理请求,确定所述待处理页面对应的调整后的布局控制数据,所述布局控制数据包括所述目标视图的第一布局数据和所述目标视图的关联视图的第二布局数据中的一种或两种;
19.发送单元,用于向所述客户端发送所述调整后的布局控制数据,所述调整后的布局控制数据用于对所述目标视图和所述目标视图的关联视图中的一个或多个进行重新加载。
20.一方面,本技术实施例提供了一种计算机设备,该计算机设备包括处理器、通信接口和存储器,该处理器、通信接口和存储器相互连接,其中,该存储器存储有计算机程序,该处理器用于调用该计算机程序,执行上述任一可能实现方式的页面处理方法。
21.一方面,本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现该任一可能实现方式的页面处理方法。
22.一方面,本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一可能实现方式的页面处理方法。
23.本技术实施例中,在待处理页面对应的第一视图集合包括的各个视图加载完成之后,将第一视图集合包括的各个视图的实际显示数据与参考显示数据进行匹配,若目标视图的实际显示数据与对应的参考显示数据不匹配,则向服务器发送页面处理请求,接收服务器响应页面处理请求发送的待处理页面对应的调整后的布局控制数据,调整后的布局控制数据用于对目标视图和目标视图的关联视图中的一个或多个进行重新加载;上述方法,能够准确地定位到显示异常的视图,同时,通过调整后的布局控制数据对目标视图和关联视图重新加载,使得开发人员无需再去对视图原有的底层代码进行更改,就可以再次验证页面是否还原,可以提升对用户界面进行还原测试的高效性和准确性。
附图说明
24.为了更清楚地说明本技术实施例技术方法,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普
通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
25.图1为本技术实施例提供的一种页面处理系统的系统架构示意图;
26.图2为本技术实施例提供的一种页面处理方法的流程示意图一;
27.图3为本技术实施例提供的一种页面处理方法的流程示意图二;
28.图4为本技术实施例提供的一种页面处理方法的流程示意图三;
29.图5为本技术实施例提供的一种页面控制器与页面之间的关系示意图;
30.图6为本技术实施例提供的一种页面处理方法的流程示意图四;
31.图7为本技术实施例提供的一种页面处理装置的结构示意图一;
32.图8为本技术实施例提供的一种页面处理装置的结构示意图二;
33.图9为本技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
34.下面将结合本技术实施例中的附图,对本技术实施例中的技术方法进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
35.对本技术实施例涉及的术语进行介绍:
36.一、云技术
37.云技术(cloud technology)是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
38.二、人工智能
39.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
40.三、区块链
41.区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
42.四、视图
43.视图(view)是操作系统中所有控件的基类,不管是简单的文本视图(text view),按钮(button)还是复杂的线性排版(linear layout)和列表视图(list view),其共同基类
都是视图;视图是一种界面层的控件的一种抽象,代表了一个控件。
44.本技术实施例提供的页面处理方法,可以应用于云技术、人工智能、区块链、车联网、智慧交通、智能家居等各种领域或场景。在一种实施方式中,页面处理方法可以应用于云技术(cloud technology)场景中。该页面处理方法具体可以应用云技术场景涉及的云技术实现;例如:本技术实施例的页面处理方法中,可以由云服务器响应页面处理请求。
45.在另一种实施方式中,本技术实施例提供的页面处理方法可以应用于人工智能(artificial intelligence,ai)场景。该页面处理方法具体可以应用人工智能场景涉及的人工智能基础技术中的分布式存储、大数据处理技术中的一种或者多种实现;例如:本技术实施例的页面处理方法中,布局控制数据、参考显示数据等可以采用分布式存储方式进行存储。
46.在可行的实施方式中,本技术实施例提供的页面处理方法可以应用于区块链场景,例如:本技术实施例的页面处理方法中,执行该页面处理方法所需要的数据可以是以区块的形式存储在区块链上;可以将执行该页面处理方法所产生的数据(例如布局控制数据等)以区块的形式存储到区块链上;另外,执行该页面处理方法的计算机设备可以是区块链网络中的节点设备。
47.请参见图1,图1为本技术实施例提供的一种页面处理系统的系统架构示意图;图1所示的系统架构能够用来实现本技术实施例提出的页面处理方法。如图1所示,该系统架构包括:服务器10及多个客户端11(图中以3个为示例)。
48.服务器10可以是具备数据处理功能的服务器,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。客户端11可以是指与服务器相对应,为客户提供本地服务的程序,可以部署在终端设备上,终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备、智能家电、车载终端,等等。图1所示的客户端11与服务器10之间通过网络连接,客户端11可以为几个或几十个,或者更多数量,本技术对客户端的数量不加以限定。
49.图1所示的系统架构可以实现本技术实施例提供的页面处理方法,该方法的实现流程大致包括:
50.①
客户端11在待处理页面对应的第一视图集合包括的各个视图加载完成之后,将第一视图集合包括的各个视图的实际显示数据与参考显示数据进行匹配,第一视图集合包括一个或多个视图。
51.②
若目标视图的实际显示数据与对应的参考显示数据不匹配,则客户端11向服务器10发送页面处理请求,目标视图为第一视图集合包括的任意一个视图。
52.③
服务器10响应客户端11发送的页面处理请求,确定待处理页面对应的调整后的布局控制数据,调整后的布局控制数据包括目标视图的第一布局数据和目标视图的关联视图的第二布局数据中的一种或两种。
53.④
服务器10向客户端11发送调整后的布局控制数据。
54.⑤
客户端11接收服务器10发送的调整后的布局控制数据,根据调整后的布局控制数据对目标视图和关联视图中的一个或多个进行重新加载。
55.在上述方法中,通过将实际显示数据与参考显示数据进行匹配,可以准确地定位到显示异常的视图,同时,直接利用调整后的布局控制数据对目标视图和关联视图重新加载,使得开发人员无需再去对视图原有的底层代码进行更改,就可以再次验证页面是否还原,可以提升对用户界面进行还原测试的高效性和准确性。
56.可以理解的是,本技术实施例描述的系统架构示意图是为了更加清楚的说明本技术实施例的技术方法,并不构成对于本技术实施例提供的技术方法的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本技术实施例提供的技术方法对于类似的技术问题,同样适用。
57.以上对本技术实施例提供的页面处理方法进行了简要介绍,下面对该页面处理方法的具体实现方式进行详细阐述。
58.请参阅图2,图2为本技术实施例提供的一种页面处理方法的流程示意图一。该页面处理方法可以由图1中的客户端11执行,具体可以由客户端的页面控制器执行。该方法包括以下步骤s201-s203:
59.s201、在待处理页面对应的第一视图集合包括的各个视图加载完成之后,将所述第一视图集合包括的各个视图的实际显示数据与参考显示数据进行匹配,所述第一视图集合包括一个或多个视图。
60.待处理页面为进行还原测试的用户界面,可以为一个或多个,以下步骤以一个待处理页面为例进行说明。在待处理页面中存在一个或多个视图,第一视图集合可以包括待处理页面中的全部或者部分视图;例如:待处理页面为视频播放页面,第一视图集合可以包括视频播放页面的所有视图,也可以包括视频播放页面中视频播放模块的所有视图,还可以包括视频播放页面中弹窗的所有视图。弹窗是指打开网页、应用程序等的时候自动弹出的窗口,通常因某种逻辑被触发的,覆盖在屏幕页面上的浮层,提示框和控件等均被称之为弹窗。
61.在开发待处理页面之前,事先定义了待处理页面的设计规范。设计规范包括针对待处理页面定义的属性及属性对应的属性数据。属性可包括:视图在屏幕中的位置、宽度、高度、颜色、透明度、形状,视图中文本的内容、字体、字号、颜色、对齐方式,视图的子视图、父视图,等等。开发人员依据设计规范设计待处理页面的绘制逻辑,当待处理页面根据绘制逻辑在客户端中显示时视图所具有的属性数据可以用来确定视图的实际显示数据,且待处理页面的设计规范中定义的属性数据可以用来确定视图的参考显示数据;例如:像视图的颜色、透明度、形状,视图中文本的内容、字体等这类不会受到终端设备的分辨率影响的属性数据,可直接作为实际显示数据和参考显示数据;像视图的位置、宽度、高度、视图中文本的字号等这类会受到终端设备的分辨率影响的属性数据,为了得到实际显示数据和参考显示数据需要对属性数据进行一定的变换。例如设计规范针对的分辨率为1024(横向分辨率)
×
768(纵向分辨率),终端设备相对于横向分辨率1024缩小了0.7倍,则将针对视图设计的宽度乘以0.7后作为视图的参考显示数据,再将视图在客户端中显示的宽度作为视图的实际显示数据;又例如,针对视图设计的位置为(x,y),则可将y/x作为视图的参考显示数据,再将视图在客户端中显示的位置转换为y/x的形式作为视图的实际显示数据。
62.在一实施例中,在第一视图集合包括的各个视图加载完成之后,页面控制器可将各个视图的实际显示数据与参考显示数据进行匹配,需理解的是,每个视图都有对应的参
考显示数据,此步骤中,实际是将各个视图的实际显示数据分别与对应的参考显示数据进行匹配。
63.s202、若目标视图的实际显示数据与对应的参考显示数据不匹配,则向服务器发送页面处理请求,所述目标视图为所述第一视图集合包括的任意一个视图。
64.目标视图为实际显示数据与对应的参考显示数据不匹配的视图,表明目标视图未达到设计规范定义的布局要求。在一实现方式中,若第一视图集合包括的各个视图中存在第一视图的实际显示数据与对应的参考显示数据不一致,则确定第一视图为目标视图;或者,若第一视图集合包括的各个视图中存在第二视图的实际显示数据与对应的参考显示数据不一致的比例大于比例阈值(可以人为设定),则确定第二视图为目标视图。例如,设定比例阈值为2%,属性包括视图的位置、宽度、高度、颜色、透明度、形状,视图1的实际显示数据与对应的参考显示数据进行匹配时,确定了视图的宽度不一致,而其它属性都一致时,可得到不一致的比例为16.7%(1/16),则将视图1作为目标视图。页面控制器在得到目标视图的实际显示数据与对应的参考显示数据不匹配时,可向服务器发送页面处理请求,页面处理请求可用于请求服务器重新确定待处理页面中目标视图和关联视图的绘制逻辑。
65.s203、接收所述服务器响应所述页面处理请求发送的所述待处理页面对应的调整后的布局控制数据,所述调整后的布局控制数据用于对所述目标视图和所述目标视图的关联视图中的一个或多个进行重新加载。
66.关联视图为与目标视图具有相对布局关系的视图,相对布局关系可涉及位置(例如视图1在视图2的左边)、透明度(例如视图1的透明度为1时视图2的透明度为0)、图层关系(例如视图1位于视图2的上层)等。相对布局关系包括两种情况:一种是关联视图的布局直接以目标视图为基准。例如,规定了视图1贴紧目标视图的上边界,则当移动目标视图时,视图1也会随着目标视图移动,认为视图1的布局直接以目标视图为基准;又例如,规定了视图1位于目标视图的上层,当目标视图从视图2改为置于视图3的上层时,视图1也会从视图2改为置于视图3的上层,认为视图1的布局直接以目标视图为基准。另一种是关联视图的布局间接以目标视图为基准(或者说关联视图的布局直接以另一个关联视图为基准)。例如:规定了视图1贴紧目标视图的上边界,以及视图2贴紧视图1的上边界,则当移动目标视图时,视图1会随着目标视图移动,视图2会随着视图1移动,认为视图2的布局间接以目标视图为基准。
67.页面控制器在加载待处理页面包括的目标视图和关联视图时,使用的是目标视图和关联视图原有的布局控制数据,服务器响应于页面处理请求返回的是调整后的布局控制数据,调整后的布局控制数据是针对目标视图和/或关联视图重新定义的布局控制数据。调整后的布局控制数据包括以下至少一种:
①
布局规则(用于描述视图之间的相对布局关系),如布局规则为目标视图相对于父视图的位置的向右漂移量为50px;
②
布局数据,该布局数据与在客户端显示时视图所具有的属性数据等价,但并不完全一致,例如,布局数据中颜色是rgb格式,属性数据中颜色是hex格式,这是因为布局数据可能是根据布局规则得到的,而布局规则是利用rgb格式的颜色值进行的计算,在显示时会将rgb格式转换为hex格式,而针对像位置这类属性数据时,布局数据和属性数据是相同的;页面控制器可以利用调整后的布局控制数据再次加载目标视图和关联视图,得到调整后的目标视图和关联视图。
68.可以理解的是,通过布局规则可以得到布局数据。如目标视图的左边界距离父视
图的左边界的距离为50px,父视图的左边界距离页面的左边界的距离为10px,则得到目标视图的左边界距离页面的左边界的距离为60px。
69.在一实施方式中,当调整后的目标视图和关联视图加载完成之后,可以再次执行步骤s201-s203。此时,第一视图集合可以只包括调整后的目标视图和关联视图;也可以包括调整后的目标视图和关联视图,以及原有的第一视图集合中除目标视图和关联视图以外的视图,可以提升对用户界面进行还原测试的高效性和准确性。
70.本技术实施例中,在待处理页面对应的第一视图集合包括的各个视图加载完成之后,将第一视图集合包括的各个视图的实际显示数据与参考显示数据进行匹配;若目标视图的实际显示数据与对应的参考显示数据不匹配,则向服务器发送页面处理请求;接收服务器响应页面处理请求发送的待处理页面对应的调整后的布局控制数据,调整后的布局控制数据用于对目标视图和目标视图的关联视图中的一个或多个进行重新加载;上述方法,通过将实际显示数据与参考显示数据进行匹配,可以准确地定位到显示异常的视图,同时,直接利用调整后的布局控制数据对目标视图和关联视图重新加载,使得开发人员无需再去对视图原有的底层代码进行更改,就可以再次验证页面是否还原,可以提升对用户界面进行还原测试的高效性和准确性。
71.请参阅图3,图3为本技术实施例提供的一种页面处理方法的流程示意图二。该页面处理方法可以由图1中的服务器10执行。该方法包括以下步骤s301-s303:
72.s301、接收客户端发送的页面处理请求,所述页面处理请求是所述客户端在确定待处理页面对应的第一视图集合中目标视图的实际显示数据与对应的参考显示数据不匹配时生成的,所述第一视图集合包括一个或多个视图。
73.其中,s301的详细实现过程可以参见步骤s201-s202,本实施例不再赘述。
74.s302、响应所述页面处理请求,确定所述待处理页面对应的调整后的布局控制数据。
75.在一实施方式中,调整后的布局控制数据包括目标视图的第一布局数据和目标视图的关联视图的第二布局数据中的一种或两种。第一布局数据用于重新加载目标视图,第一布局数据包括以下至少一种:
①
目标视图的布局规则,如第一布局数据可以是目标视图的左边界距离页面的左边界的距离为50px;
②
目标视图的布局数据,如第一布局数据为目标视图在屏幕中的绝对位置(60,50)。第二布局数据用于重新加载目标视图的关联视图,第二布局数据包括以下至少一种:
①
关联视图的布局规则,如第二布局数据可以是关联视图的左边界距离目标视图的左边界的距离为10px;
②
关联视图的布局数据,如第二布局数据是关联视图的左边界距离页面的左边界的距离为60px。
76.s303、向所述客户端发送所述调整后的布局控制数据,所述调整后的布局控制数据用于对所述目标视图和所述目标视图的关联视图中的一个或多个进行重新加载。
77.在一实现方式中,调整后的布局控制数据可以包括目标视图的第一布局数据,客户端的页面控制器可获取目标视图的第一布局数据以及目标视图的关联视图原有的布局规则,关联视图原有的布局规则是加载待处理页面时关联视图原有的布局规则。当第一布局数据是目标视图的布局数据时,页面控制器可根据目标视图的布局数据以及关联视图原有的布局规则重新加载目标视图和关联视图,当第一布局数据是目标视图的布局规则时,可先根据目标视图的布局规则得到目标视图的布局数据,再根据目标视图的布局数据以及
关联视图原有的布局规则重新加载目标视图和关联视图。例如:若第一布局数据包括目标视图的左边界距离父视图的左边界的距离为50px,则由父视图的左边界的距离页面的左边界的距离为10px,可得到目标视图的左边界距离页面的左边界的距离为60px,根据60px就可以得到关于目标视图的左边界的绘制逻辑,同时关联视图原有的布局规则包括关联视图的左边界距离目标视图的左边界的距离为10px,则当得到目标视图的左边界时,就相当于得到关于关联视图的左边界的一个绘制逻辑,或者,得到关联视图的左边界距离页面的左边界的距离为60px,并将关联视图的左边界距离页面的左边界的距离为60px作为关于关联视图的左边界的一个绘制逻辑。
78.在一实现方式中,调整后的布局控制数据可以包括目标视图的第一布局数据和目标视图的关联视图的第二布局数据,客户端的页面控制器可根据目标视图的第一布局数据和目标视图的关联视图的第二布局数据重新加载目标视图和关联视图。例如:若第一布局数据为目标视图的左边界距离父视图的左边界的距离为50px,则由父视图的左边界距离页面的左边界的距离为10px,可得到目标视图的左边界距离页面的左边界的距离为60px,根据60px就可以得到关于目标视图的左边界的绘制逻辑,同时第二布局数据为关联视图的左边界距离页面的左边界的距离为70px,则可得到关于关联视图的左边界的一个绘制逻辑。其中,第一布局数据可以是目标视图的布局数据,第二布局数据可以是关联视图的布局数据,使得客户端的页面控制器无需再去根据布局规则进行计算,可以提高布局效率。
79.在一实施例中,调整后的布局控制数据可以包括目标视图的关联视图的第二布局数据。
①
当该第二布局数据包括关联视图的布局数据时,客户端的页面控制器可获取关联视图的布局数据以及目标视图的关联视图原有的布局规则,根据关联视图的布局数据以及关联视图原有的布局规则重新加载目标视图和关联视图。例如:第二布局数据是关联视图的左边界距离页面的左边界的距离为60px,将关联视图的左边界距离页面的左边界的距离为60px作为关于关联视图的左边界的一个绘制逻辑,同时,关联视图原有的布局规则为关联视图的左边界距离目标视图的左边界的距离为10px,则由关联视图的左边界距离页面的左边界的距离为60px,可得目标视图的左边界距离页面的左边界的距离为50px,将目标视图的左边界距离页面的左边界的距离为50px作为关于目标视图的左边界的一个绘制逻辑。
②
当第二布局数据包括关联视图的布局数据和关联视图的布局规则时,客户端的页面控制器可根据关联视图的布局数据重新加载关联视图,以及根据关联视图的布局数据和关联视图的布局规则得到目标视图的布局数据,利用目标视图的布局数据重新加载目标视图。
③
当第二布局数据包括关联视图的布局规则时,客户端的页面控制器可根据目标视图原有的布局数据以及关联视图的布局规则重新加载目标视图和关联视图,目标视图原有的布局数据是加载待处理页面时目标视图原有的布局数据。
80.需说明的是,关联视图可以为一个或多个,可以根据实际应用需要,利用第二布局数据将全部的关联视图进行重新加载,也可以只针对部分的关联视图进行重新加载。
81.本技术实施例中,服务器可以确定调整后的布局控制数据包括目标视图的第一布局数据和目标视图的关联视图的第二布局数据中的一种或两种,使得客户端可根据调整后的布局控制数据对目标视图和目标视图的关联视图中的一个或多个进行重新加载,使得开发人员无需再去对视图原有的底层代码进行更改,就可以再次验证页面是否还原,可以提升对用户界面进行还原测试的高效性和准确性,同时通过将实际显示数据与参考显示数据
进行匹配,可以准确地定位到显示异常的视图,可以提升对用户界面进行还原测试的准确性。
82.请参阅图4,图4为本技术实施例提供的一种页面处理方法的流程示意图三。该页面处理方法可以由图1中的服务器10和客户端11共同执行,具体可以由服务器和客户端的页面控制器共同执行。该方法包括以下步骤s401-s405:
83.s401、客户端在待处理页面对应的第一视图集合包括的各个视图加载完成之后,将第一视图集合包括的各个视图的实际显示数据与参考显示数据进行匹配。
84.在一个实施例中,当客户端检测到针对第一视图集合包括的各个视图的页面加载事件时,客户端的页面控制器可获取生命周期代码模板,生命周期代码模板具有生命周期函数的代码结构,生命周期代码模板可以为一个或多个,可包括初始化/创建(init)、销毁(dealloc)、添加(didaddsubview)、移动(didmovetosuperview/didmovetowindow)、移除(didmovetosuperview/didmovetowindow)、布局子视图(layoutsubviews)、绘制(drawrect)等。进一步地,获取第一视图集合包括的各个视图的生命周期规则参数,将各个视图的生命周期规则参数填入到生命周期代码模板中确定各个视图的生命周期函数,从而调用各个视图的生命周期函数加载各个视图。生命周期模板代码和生命周期规则参数可加载在客户端的内存中,以减少向服务器请求的时间。
85.每一个视图都是一个容器,可以装载其它视图,容器内装载的视图和该容器对应的视图之间存在父子关系,视图可以有一个父视图,以及可以有一个或多个子视图。例如,图5的待处理页面0中视图0是视图1和视图2的父视图,视图1是视图3的父视图,视图2是视图4和视图5的父视图。在一实现方式中,客户端可获取第一视图集合包括的各个视图之间的父子关系,按照各个视图之间的父子关系,依次确定各个视图的实际显示数据与对应的参考显示数据是否匹配。例如:可以根据各个视图之间的父子关系建立第一视图集合的树状结构数据,该树状结构数据中包括各个视图各自对应的节点;父视图和子视图对应的节点之间可通过有向边连接,有向边的头为父视图,有向边的尾为该父视图的子视图;对于不存在父视图的节点称为根节点。可从该树状结构数据的根节点开始,逐层检查各个节点,将检查到的节点对应的视图的实际显示数据与对应的参考显示数据进行匹配,若检查到的节点对应的视图的实际显示数据与对应的参考显示数据不匹配,则确定检查到的节点对应的视图为实际显示数据与对应的参考显示数据不匹配的视图,获取实际显示数据与对应的参考显示数据不匹配的视图,确定为目标视图,并停止检查。
86.在一实现方式中,页面控制器可依据第一视图集合的树状结构数据加载第一视图集合中的各个视图,各个视图的加载顺序和绘制顺序可按照视图之间的父子关系决定,如先加载父视图,再加载子视图,再加载子视图的子视图。
87.待处理页面对应有参考页面,参考页面是依据待处理页面的设计规范得到的标准页面,具有设计规范所定义的属性数据。参考页面的显示配置文件包括该设计规范所定义的属性数据,如该显示配置文件可包括视图在屏幕中的位置、宽度、高度、颜色、透明度、形状,视图中文本的内容、字体、字号、颜色、对齐方式,视图的子视图、父视图,等等。在一实施例中,针对第一视图集合中的任一视图,客户端可从待处理页面对应的参考页面的显示配置文件中,获取该任一视图的关键属性对应的参考显示数据;关键属性为生成该任一视图所必须要的属性,可以理解为该视图包括的且与子视图无关的属性,如像视图的子视图、父
视图,以及子视图在屏幕中的位置、宽度、高度、颜色等不作为关键属性。进一步地,获取任一视图的关键属性对应的实际显示数据;确定该关键属性对应的参考显示数据与该关键属性对应的实际显示数据是否匹配;当该关键属性对应的参考显示数据与该关键属性对应的实际显示数据匹配时,确定该任一视图的实际显示数据与对应的参考显示数据匹配;当该关键属性对应的参考显示数据与该关键属性对应的实际显示数据不匹配时,确定该任一视图的实际显示数据与对应的参考显示数据不匹配,并将该任一视图作为目标视图。
88.s402、若目标视图的实际显示数据与对应的参考显示数据不匹配,则客户端向服务器发送页面处理请求。
89.s403、服务器响应客户端发送的页面处理请求,确定待处理页面对应的调整后的布局控制数据,调整后的布局控制数据包括目标视图的第一布局数据和目标视图的关联视图的第二布局数据中的一种或两种。
90.在一实施例中,当待处理页面的页面加载事件发生时,客户端的页面控制器可调用视图监控(viewmonitor)模块监听第一视图集合包括的各个视图的生命周期状态,该视图监控模块可以是由客户端的页面控制器创建的,生命周期状态是由调用的生命周期函数所决定的,例如,当前调用的生命周期函数为init,表示视图的生命周期状态为创建/初始化;同时,当加载待处理页面时,像一些即时内容(例如新闻)是需要服务器发送过来的,viewmonitor模块还可以监听其与服务器之间的交互;当页面控制器确定各个视图的生命周期状态指示各个视图加载完成时,或者,由于视图加载完成时会自动调用视图布局通知(viewdidlayoutsubviews)方法告知页面控制器布局了该视图,因此也可以是页面控制器依据viewdidlayoutsubviews方法告知的消息确定各个视图加载完成时,调用视图监控模块向服务器发送待处理页面的视图信息,视图信息包括第一视图集合以及第一视图集合包括的各个视图之间的父子关系,视图信息具体可以是第一视图集合的树状结构数据。
91.进一步地,服务器可存储客户端发送的待处理页面的视图信息,当服务器接收到客户端发送的页面处理请求时,根据第一视图集合以及第一视图集合中各个视图之间的父子关系,确定目标视图对应的第二视图集合,第二视图集合包括第一视图集合中以目标视图的父视图为祖先视图的视图。祖先视图可以理解为:若视图1是视图2的父视图,视图2是视图3的父视图,视图3是视图4的父视图,则视图1是视图2、视图3和视图4的祖先视图,视图2是视图3和视图4的祖先视图,同时,视图3也是视图4的祖先视图。在一实现方式中,页面处理请求携带有目标视图的父视图的标识(该标识用于唯一标识父视图),服务器可根据目标视图的父视图的标识从第一视图集合的树状结构数据中确定父视图对应的节点,将在父视图对应的节点所在的层位之下,且与父视图之间存在直接或间接连接的视图作为第二视图集合包括的视图。进一步地,从第二视图集合包括的视图中确定目标视图的关联视图,关联视图可以是目标视图的兄弟视图(兄弟视图与目标视图具有相同的父视图)、目标视图的兄弟视图的后代视图(以兄弟视图为祖先视图的视图)、目标视图的后代视图(以目标视图为祖先视图的视图)。
92.在一实施例中,客户端的页面控制器在确定目标视图的实际显示数据与对应的参考显示数据不匹配时,可获取异常数据,异常数据为实际显示数据与对应的参考显示数据不一致的布局数据,并将异常数据反馈给开发人员,由开发人员重新针对目标视图配置布局规则和/或布局数据,服务器可将针对目标视图重新配置的布局规则作为目标视图的第
一布局数据,或者将针对目标视图重新配置的布局数据作为目标视图的第一布局数据,或者将针对目标视图重新配置的布局数据和布局规则作为目标视图的第一布局数据;进一步地,服务器获取关联视图与目标视图之间的相对布局关系,根据关联视图与目标视图之间的相对布局关系,以及目标视图的第一布局数据确定关联视图的第二布局数据。
93.在一实施例中,若第一布局数据是针对目标视图配置的布局规则,则可先根据目标视图的布局规则确定目标视图的布局数据。例如,布局规则为目标视图的左边界距离父视图的左边界的距离为50px,则由父视图的左边界的距离页面的左边界的距离为10px,得到目标视图的左边界距离页面的左边界的距离为60px(即目标视图的布局数据);由于相对布局关系包括两种情况,因此将布局直接以目标视图为基准的关联视图作为第一类关联视图,将布局间接以目标视图为基准的关联视图作为第二类关联视图,当关联视图为第一类关联视图时,可根据目标视图的布局数据和第一类关联视图的布局规则确定第一类关联视图的布局数据,将第一类关联视图的布局数据作为第一类关联视图的第二布局数据,例如:关联视图1的左边界距离目标视图的左边界的距离为10px,则可由关联视图1的左边界距离目标视图的左边界的距离为50px,得到关联视图1的左边界距离页面的左边界的距离为60px,并将60px作为关联视图1的第二布局数据;当关联视图为第二类关联视图时,则确定第二类关联视图对应的目标关联视图(第二类关联视图的布局直接以该目标关联视图为基准),根据目标关联视图的布局数据和第二类关联视图的布局规则确定第二类关联视图的布局数据,例如:关联视图1的左边界距离页面的左边界的距离为70px,则由关联视图2的左边界距离关联视图1的左边界的距离为10px,可得关联视图2的左边界距离页面的左边界的距离为80px。
94.在一具体实现方式中,服务器在接收到客户端发送的待处理页面的视图信息时,可按照分布式并行计算模型(简称为actor对象模型)为每个视图生成一个actor对象。在actor对象模型中每个actor对象是进行任务处理的最基本的计算单元,它能接收一个消息并且基于其执行计算,可以将视图信息中的各个视图对应的actor对象的状态(status)设置为等待(wait)。另外,actor对象模型中存在actor对象0的status为等待执行(loop);当接收到客户端发送的页面处理请求时,目标视图对应的actor对象为actor对象0;当针对目标视图配置了布局规则或布局数据时,可将actor对象0的状态设置为正在执行(active),表示开启子线程。actor对象0会将关联视图对应的actor对象与actor对象0关联起来,并根据目标视图的布局数据,以及actor对象0与子actor对象之间的布局规则得到子actor对象包括的布局数据。子actor对象对应于第一类关联视图,子actor对象包括的布局数据为第一类关联视图的布局数据,actor对象0与子actor对象之间的布局规则是第一类关联视图的布局规则。当子actor对象计算完毕后,将子actor对象作为新的actor对象0,以及第一类关联视图对应的参考关联视图(该参考关联视图的布局直接以该第一类关联视图为基准)作为新的子actor对象继续执行,当新的子acotor对象计算完毕,以此类推,继续针对下一个新的子actor对象执行,直至不存在新的子actor对象为止。当子线程停止时,将actor对象0的status重新置为loop,此时,每个关联视图都得到了布局数据。
95.在一实施例中,当服务器在针对该页面处理请求进行处理时,actor对象0的status会从loop置为active,因此服务器在接收到其它页面处理请求时可以获取loop的个数,若loop的个数为0,表示服务器需要创建新的actor对象和新的线程。
96.s404、服务器向客户端发送调整后的布局控制数据。
97.在一实现方式中,服务器可以将第一布局数据发送给客户端,第一布局数据可以为针对目标视图配置的布局规则和/或布局数据;或者可以将第二布局数据发送给客户端,第二布局数据可以是目标视图的关联视图的布局规则和/或布局数据;或者可以将第一布局数据和第二布局数据发送给客户端。
98.s405、客户端接收服务器发送的调整后的布局控制数据,根据调整后的布局控制数据对目标视图和关联视图进行重新加载。
99.在一实施例中,若调整后的布局控制数据包括目标视图的第一布局数据,则客户端可以调用视图监测模块根据第一布局数据确定目标视图的第一加载控制参数。若第一布局数据包括目标视图的布局数据,则将目标视图的布局数据作为第一加载控制参数;若第一布局数据包括目标视图的布局规则,则根据目标视图的布局规则确定目标视图的布局数据,再将目标视图的布局数据作为第一加载控制参数;若第一布局数据包括目标视图的布局规则和目标视图的布局数据,则将目标视图的布局数据作为第一加载控制参数,或者根据目标视图的布局规则确定目标视图的布局数据,再将目标视图的布局数据作为第一加载控制参数。利用第一加载控制参数和目标视图的关联视图原有的布局规则确定关联视图的布局数据,并将关联视图的布局数据作为关联视图的第二加载控制参数。页面控制器可以利用runtime机制将目标视图的第一加载控制参数和关联视图的第二加载控制参数传入到对应的视图以重新加载目标视图和关联视图。runtime机制可在不销毁视图的情况下,直接对该视图的布局规则和布局数据进行修改或替换,可以避免重新编译视图,提升对用户界面进行还原测试的高效性和准确性。
100.在一实施例中,若调整后的布局控制数据包括目标视图的关联视图的第二布局数据,则当第二布局数据包括关联视图的布局数据时,将关联视图的布局数据作为第二加载控制参数,根据关联视图原有的布局规则和关联视图的布局数据得到目标视图的布局数据,将目标视图的布局数据作为目标视图的第一加载控制参数;当第二布局数据包括关联视图的布局规则时,根据关联视图的布局规则和目标视图原有的布局数据确定关联视图的布局数据,将关联视图的布局数据作为第二加载控制参数,且目标视图原有的布局数据为目标视图的第一加载控制参数;当第二布局数据包括关联视图的布局数据和关联视图的布局规则时,将关联视图的布局数据作为关联视图的第二加载控制参数,以及根据关联视图的布局数据和关联视图的布局规则得到目标视图的布局数据,将目标视图的布局数据作为目标视图的第一加载控制参数。页面控制器可以利用runtime机制将目标视图的第一加载控制参数和关联视图的第二加载控制参数传入到对应的视图以重新加载目标视图和关联视图。runtime机制可在不销毁视图的情况下,直接对该视图的布局规则和布局数据进行修改或替换,可以避免重新编译视图,提升对用户界面进行还原测试的高效性和准确性。
101.在一实施例中,调整后的布局控制数据包括目标视图的第一布局数据和目标视图的关联视图的第二布局数据。第一布局数据可以是目标视图的布局数据和布局规则中的一种或两种,当第一布局数据是目标视图的布局规则时,客户端根据目标视图的布局规则得到目标视图的布局数据,并将目标视图的布局数据作为目标视图的第一加载控制参数。第二布局数据可以是关联视图的布局规则和关联视图的布局数据中的一种或两种,当第二布局数据是关联视图的布局规则时,可以根据关联视图的布局规则和目标视图的布局数据得
到关联视图的布局数据,将关联视图的布局数据作为关联视图的第二加载控制参数。利用runtime机制将目标视图的第一加载控制参数和关联视图的第二加载控制参数传入到对应的视图以重新加载目标视图和关联视图,可以提升对用户界面进行还原测试的高效性和准确性。
102.请参见图5,每个待处理页面对应有一个页面控制器,可以由开发人员确定各个待处理页面的配置文件(可包括生命周期规则参数、参考页面的显示配置文件、视图原有的布局规则或布局数据等)并写入页面控制器中,由页面控制器替代客户端执行各个步骤。
103.本技术实施例中,通过将视图的实际显示数据与参考显示数据进行匹配,可以准确地定位到显示异常的视图,同时,直接利用调整后的布局控制数据包括的第一布局数据和第二布局数据中的一种或两种对目标视图和关联视图重新加载,使得开发人员无需再去对视图原有的底层代码进行更改,就可以再次验证页面是否还原,可以提升对用户界面进行还原测试的高效性和准确性。
104.请参阅图6,图6为本技术实施例提供的一种页面处理方法的流程示意图四。该方法包括:当待处理页面加载完成之后,可以将待处理页面中目标视图的实际显示数据与参考显示数据进行匹配(具体可以是将目标视图的关键属性对应的实际显示数据与关键属性对应的参考显示数据进行匹配),若目标视图的实际显示数据与参考显示数据匹配,则获取下一个视图继续匹配;若目标视图的实际显示数据与参考显示数据不匹配,则目标视图对应的actor对象为actor对象0,当针对目标视图配置了布局规则或布局数据时,可将actor对象0的状态设置为正在执行(active),表示开启子线程。actor对象0会将关联视图对应的actor对象与actor对象0关联起来,并根据目标视图的布局数据,以及actor对象0与子actor对象之间的布局规则得到子actor对象包括的布局数据。子actor对象对应于第一类关联视图,子actor对象包括的布局数据为第一类关联视图的布局数据,actor对象0与子actor对象之间的布局规则是第一类关联视图的布局规则。当子actor对象计算完毕后,将子actor对象作为新的actor对象0,以及第一类关联视图对应的参考关联视图(该参考关联视图的布局直接以该第一类关联视图为基准)作为新的子actor对象继续执行,当新的子acotor对象计算完毕,以此类推,继续针对下一个新的子actor对象执行,直至不存在新的子actor对象为止。此时,每个关联视图都得到了布局数据,将目标视图的布局数据和关联视图的布局数据发送至页面控制器,由页面控制器重新加载目标视图和关联视图,并再次将待处理页面中各个视图的实际显示数据与参考显示数据进行匹配,若最终待处理页面中各个视图的实际显示数据与参考显示数据匹配,则表示得到符合设计规范的布局要求的待处理页面,可以提升对用户界面进行还原测试的高效性和准确性。
105.上述详细阐述了本技术实施例的方法,为了便于更好地实施本技术实施例的上述方法,相应地,下面提供了本技术实施例的装置。请参见图7,图7是本技术实施例提供的一种页面处理装置的结构示意图一,该页面处理装置可应用于客户端的页面控制器,该页面处理装置70可以包括:
106.处理单元701,用于在待处理页面对应的第一视图集合包括的各个视图加载完成之后,将所述第一视图集合包括的各个视图的实际显示数据与参考显示数据进行匹配,所述第一视图集合包括一个或多个视图;
107.发送单元702,用于若目标视图的实际显示数据与对应的参考显示数据不匹配,则
向服务器发送页面处理请求,所述目标视图为所述第一视图集合包括的任意一个视图;
108.接收单元703,用于接收所述服务器响应所述页面处理请求发送的所述待处理页面对应的调整后的布局控制数据,所述调整后的布局控制数据用于对所述目标视图和所述目标视图的关联视图中的一个或多个进行重新加载。
109.在一实施例中,所述页面处理装置包括获取单元704,所述获取单元704用于:获取所述第一视图集合包括的各个视图之间的父子关系;
110.所述处理单元701具体用于:根据所述各个视图之间的父子关系,依次确定所述各个视图的实际显示数据与对应的参考显示数据是否匹配;获取实际显示数据与对应的参考显示数据不匹配的视图,确定为目标视图。
111.在一实施例中,所述视图包括关键属性,所述获取单元704具体用于:针对所述第一视图集合中的任一视图,从所述待处理页面对应的参考页面的显示配置文件中,获取所述任一视图的关键属性对应的参考显示数据;获取所述任一视图的关键属性对应的实际显示数据;
112.所述处理单元701具体用于:确定所述关键属性对应的参考显示数据与所述关键属性对应的实际显示数据是否匹配。
113.在一实施例中,所述处理单元701具体用于:当所述待处理页面的页面加载事件发生时,调用视图监控模块确定所述第一视图集合包括的各个视图的生命周期状态;若所述各个视图的生命周期状态指示所述各个视图加载完成,则调用所述视图监控模块向所述服务器发送所述待处理页面的视图信息,所述视图信息包括所述第一视图集合以及所述第一视图集合包括的各个视图之间的父子关系,所述视图信息用于确定所述目标视图的关联视图。
114.在一实施例中,所述调整后的布局控制数据包括所述目标视图的第一布局数据和所述目标视图的关联视图的第二布局数据中的一种或两种,所述处理单元701具体用于:根据所述第一布局数据和所述第二布局数据中的一种或两种,确定所述目标视图的第一加载控制参数和所述关联视图的第二加载控制参数中的一种或两种;利用所述第一加载控制参数重新加载所述目标视图,并利用所述第二加载控制参数重新加载所述关联视图。
115.可以理解的是,本技术实施例所描述的页面处理装置的各功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
116.本技术实施例中,在待处理页面对应的第一视图集合包括的各个视图加载完成之后,将第一视图集合包括的各个视图的实际显示数据与参考显示数据进行匹配,若目标视图的实际显示数据与对应的参考显示数据不匹配,则向服务器发送页面处理请求,接收服务器响应页面处理请求发送的待处理页面对应的调整后的布局控制数据,调整后的布局控制数据用于对目标视图和目标视图的关联视图中的一个或多个进行重新加载,可以提升对用户界面进行还原测试的高效性和准确性。
117.请参见图8,图8是本技术实施例提供的一种页面处理装置的结构示意图二,该页面处理装置80可以包括:
118.接收单元801,用于接收客户端发送的页面处理请求,所述页面处理请求是所述客户端在确定待处理页面对应的第一视图集合中目标视图的实际显示数据与对应的参考显
示数据不匹配时生成的,所述第一视图集合包括一个或多个视图;
119.处理单元802,用于响应所述页面处理请求,确定所述待处理页面对应的调整后的布局控制数据;
120.发送单元803,用于向所述客户端发送所述调整后的布局控制数据,所述调整后的布局控制数据用于对所述目标视图和所述关联视图中的一个或多个进行重新加载。
121.在一实施例中,所述接收单元801具体用于:接收所述客户端在发送的所述待处理页面的视图信息;所述视图信息是所述客户端在所述第一视图集合包括的各个视图的生命周期状态指示所述各个视图加载完成之后发送的;所述视图信息包括所述第一视图集合以及所述第一视图集合包括的各个视图之间的父子关系,所述视图信息用于确定所述目标视图的关联视图。
122.在一实施例中,所述处理单元802具体用于:根据所述第一视图集合以及所述第一视图集合包括的各个视图之间的父子关系,确定所述目标视图对应的第二视图集合,所述第二视图集合包括所述第一视图集合中以所述目标视图的父视图为祖先视图的视图;从所述目标视图对应的第二视图集合中确定所述目标视图的关联视图。
123.在一实施例中,所述调整后的布局控制数据包括所述目标视图的第一布局数据和所述目标视图的关联视图的第二布局数据中的一种或两种,所述处理单元802具体用于:确定所述目标视图的第一布局数据,所述第一布局数据是根据针对所述目标视图配置的布局规则确定的,所述布局规则用于描述视图之间的相对布局关系;或者,所述第一布局数据是根据针对所述目标视图配置的布局数据确定的;根据所述关联视图与所述目标视图之间的相对布局关系,以及所述目标视图的第一布局数据确定所述关联视图的第二布局数据。
124.可以理解的是,本技术实施例所描述的页面处理装置的各功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
125.本技术实施例中,在待处理页面对应的第一视图集合包括的各个视图加载完成之后,将第一视图集合包括的各个视图的实际显示数据与参考显示数据进行匹配,若目标视图的实际显示数据与对应的参考显示数据不匹配,则向服务器发送页面处理请求,接收服务器响应页面处理请求发送的待处理页面对应的调整后的布局控制数据,调整后的布局控制数据用于对目标视图和目标视图的关联视图中的一个或多个进行重新加载,可以提升对用户界面进行还原测试的高效性和准确性。
126.如图9所示,图9是本技术实施例提供的一种计算机设备的结构示意图,该计算机设备90内部结构如图9所示,包括:一个或多个处理器901、存储器902、通信接口903。上述处理器901、存储器902和通信接口903可通过总线904或其他方式连接,本技术实施例以通过总线904连接为例。
127.其中,处理器901(或称cpu(central processing unit,中央处理器))是计算机设备90的计算核心以及控制核心,其可以解析计算机设备90内的各类指令以及处理计算机设备90的各类数据,例如:cpu可以用于解析用户向计算机设备90所发送的开关机指令,并控制计算机设备90进行开关机操作;再如:cpu可以在计算机设备90内部结构之间传输各类交互数据,等等。通信接口903可选的可以包括标准的有线接口、无线接口(如wi-fi、移动通信接口等),受处理器901的控制用于收发数据。存储器902(memory)是计算机设备90中的记忆
设备,用于存放计算机程序和数据。可以理解的是,此处的存储器902既可以包括计算机设备90的内置存储器,当然也可以包括计算机设备90所支持的扩展存储器。存储器902提供存储空间,该存储空间存储了计算机设备90的操作系统,可包括但不限于:windows系统、linux系统、android系统、ios系统,等等,本技术对此并不作限定。在一实施例中,该计算机设备90为客户端的页面控制器,则处理器901通过运行存储器902中存储的计算机程序,执行如下操作:
128.在待处理页面对应的第一视图集合包括的各个视图加载完成之后,将所述第一视图集合包括的各个视图的实际显示数据与参考显示数据进行匹配,所述第一视图集合包括一个或多个视图;
129.若目标视图的实际显示数据与对应的参考显示数据不匹配,则向服务器发送页面处理请求,所述目标视图为所述第一视图集合包括的任意一个视图;
130.接收所述服务器响应所述页面处理请求发送的所述待处理页面对应的调整后的布局控制数据,所述调整后的布局控制数据用于对所述目标视图和所述目标视图的关联视图中的一个或多个进行重新加载。
131.在一实施例中,所述处理器901具体用于:获取所述第一视图集合包括的各个视图之间的父子关系;根据所述各个视图之间的父子关系,依次确定所述各个视图的实际显示数据与对应的参考显示数据是否匹配;获取实际显示数据与对应的参考显示数据不匹配的视图,确定为目标视图。
132.在一实施例中,所述视图包括关键属性,所述处理器901具体用于:针对所述第一视图集合中的任一视图,从所述待处理页面对应的参考页面的显示配置文件中,获取所述任一视图的关键属性对应的参考显示数据;获取所述任一视图的关键属性对应的实际显示数据;确定所述关键属性对应的参考显示数据与所述关键属性对应的实际显示数据是否匹配。
133.在一实施例中,所述处理器901具体用于:当所述待处理页面的页面加载事件发生时,调用视图监控模块确定所述第一视图集合包括的各个视图的生命周期状态;若所述各个视图的生命周期状态指示所述各个视图加载完成,则调用所述视图监控模块向所述服务器发送所述待处理页面的视图信息,所述视图信息包括所述第一视图集合以及所述第一视图集合包括的各个视图之间的父子关系,所述视图信息用于确定所述目标视图的关联视图。
134.在一实施例中,所述调整后的布局控制数据包括所述目标视图的第一布局数据和所述目标视图的关联视图的第二布局数据中的一种或两种,所述处理器901具体用于:根据所述第一布局数据和所述第二布局数据中的一种或两种,确定所述目标视图的第一加载控制参数和所述关联视图的第二加载控制参数中的一种或两种;利用所述第一加载控制参数重新加载所述目标视图,并利用所述第二加载控制参数重新加载所述关联视图。
135.在一实施例中,该计算机设备90为服务器,则处理器901通过运行存储器902中存储的计算机程序,执行如下操作:
136.接收客户端发送的页面处理请求,所述页面处理请求是所述客户端在确定待处理页面对应的第一视图集合中目标视图的实际显示数据与对应的参考显示数据不匹配时生成的,所述第一视图集合包括一个或多个视图;
137.响应所述页面处理请求,确定所述待处理页面对应的调整后的布局控制数据;
138.向所述客户端发送所述调整后的布局控制数据,所述调整后的布局控制数据用于对所述目标视图和所述关联视图中的一个或多个进行重新加载。
139.在一实施例中,所述处理器901具体用于:接收所述客户端在发送的所述待处理页面的视图信息;所述视图信息是所述客户端在所述第一视图集合包括的各个视图的生命周期状态指示所述各个视图加载完成之后发送的;所述视图信息包括所述第一视图集合以及所述第一视图集合包括的各个视图之间的父子关系,所述视图信息用于确定所述目标视图的关联视图。
140.在一实施例中,所述处理器901具体用于:根据所述第一视图集合以及所述第一视图集合包括的各个视图之间的父子关系,确定所述目标视图对应的第二视图集合,所述第二视图集合包括所述第一视图集合中以所述目标视图的父视图为祖先视图的视图;从所述目标视图对应的第二视图集合中确定所述目标视图的关联视图。
141.在一实施例中,所述调整后的布局控制数据包括所述目标视图的第一布局数据和所述目标视图的关联视图的第二布局数据中的一种或两种,所述处理器901具体用于:确定所述目标视图的第一布局数据,所述第一布局数据是根据针对所述目标视图配置的布局规则确定的,所述布局规则用于描述视图之间的相对布局关系;或者,所述第一布局数据是根据针对所述目标视图配置的布局数据确定的;获取所述关联视图与所述目标视图之间的相对布局关系;根据所述关联视图与所述目标视图之间的相对布局关系,以及所述目标视图的第一布局数据确定所述关联视图的第二布局数据。
142.具体实现中,本技术实施例中所描述的处理器901、存储器902及通信接口903可执行本技术实施例提供的一种页面处理方法中所描述的实现方式,也可执行本技术实施例提供的一种页面处理装置中所描述的实现方式,在此不再赘述。
143.本技术实施例中,在待处理页面对应的第一视图集合包括的各个视图加载完成之后,将第一视图集合包括的各个视图的实际显示数据与参考显示数据进行匹配,若目标视图的实际显示数据与对应的参考显示数据不匹配,则向服务器发送页面处理请求,接收服务器响应页面处理请求发送的待处理页面对应的调整后的布局控制数据,调整后的布局控制数据用于对目标视图和目标视图的关联视图中的一个或多个进行重新加载,可以提升对用户界面进行还原测试的高效性和准确性。
144.本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机设备上运行时,使得计算机设备执行上述任一可能实现方式的页面处理方法。其具体实现方式可参考前文描述,此处不再赘述。
145.本技术实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一可能实现方式的页面处理方法。其具体实现方式可参考前文描述,此处不再赘述。
146.需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该
知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
147.本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
148.以上所揭露的仅为本技术部分实施例而已,当然不能以此来限定本技术之权利范围,因此依本技术权利要求所作的等同变化,仍属本技术所涵盖的范围。
技术特征:
1.一种页面处理方法,其特征在于,应用于客户端的页面控制器,所述方法包括:在待处理页面对应的第一视图集合包括的各个视图加载完成之后,将所述第一视图集合包括的各个视图的实际显示数据与参考显示数据进行匹配,所述第一视图集合包括一个或多个视图;若目标视图的实际显示数据与对应的参考显示数据不匹配,则向服务器发送页面处理请求,所述目标视图为所述第一视图集合包括的任意一个视图;接收所述服务器响应所述页面处理请求发送的所述待处理页面对应的调整后的布局控制数据,所述调整后的布局控制数据用于对所述目标视图和所述目标视图的关联视图中的一个或多个进行重新加载。2.根据权利要求1所述的方法,其特征在于,所述将所述第一视图集合包括的各个视图的实际显示数据与参考显示数据进行匹配,包括:获取所述第一视图集合包括的各个视图之间的父子关系;根据所述各个视图之间的父子关系,依次确定所述各个视图的实际显示数据与对应的参考显示数据是否匹配;获取实际显示数据与对应的参考显示数据不匹配的视图,确定为目标视图。3.根据权利要求2所述的方法,其特征在于,所述视图包括关键属性,所述依次确定所述各个视图的实际显示数据与对应的参考显示数据是否匹配,包括:针对所述第一视图集合中的任一视图,从所述待处理页面对应的参考页面的显示配置文件中,获取所述任一视图的关键属性对应的参考显示数据;获取所述任一视图的关键属性对应的实际显示数据;确定所述关键属性对应的参考显示数据与所述关键属性对应的实际显示数据是否匹配。4.根据权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:当所述待处理页面的页面加载事件发生时,调用视图监控模块确定所述第一视图集合包括的各个视图的生命周期状态;若所述各个视图的生命周期状态指示所述各个视图加载完成,则调用所述视图监控模块向所述服务器发送所述待处理页面的视图信息,所述视图信息包括所述第一视图集合以及所述第一视图集合包括的各个视图之间的父子关系,所述视图信息用于确定所述目标视图的关联视图。5.根据权利要求1-3中任一项所述的方法,其特征在于,所述调整后的布局控制数据包括所述目标视图的第一布局数据和所述目标视图的关联视图的第二布局数据中的一种或两种,所述方法还包括:根据所述第一布局数据和所述第二布局数据中的一种或两种,确定所述目标视图的第一加载控制参数和所述关联视图的第二加载控制参数中的一种或两种;利用所述第一加载控制参数重新加载所述目标视图,并利用所述第二加载控制参数重新加载所述关联视图。6.一种页面处理方法,其特征在于,所述方法包括:接收客户端发送的页面处理请求,所述页面处理请求是所述客户端在确定待处理页面对应的第一视图集合中目标视图的实际显示数据与对应的参考显示数据不匹配时生成的,
所述第一视图集合包括一个或多个视图;响应所述页面处理请求,确定所述待处理页面对应的调整后的布局控制数据;向所述客户端发送所述调整后的布局控制数据,所述调整后的布局控制数据用于对所述目标视图和所述目标视图的关联视图中的一个或多个进行重新加载。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:接收所述客户端发送的所述待处理页面的视图信息;所述视图信息是所述客户端在所述第一视图集合包括的各个视图的生命周期状态指示所述各个视图加载完成之后发送的;所述视图信息包括所述第一视图集合以及所述第一视图集合包括的各个视图之间的父子关系,所述视图信息用于确定所述目标视图的关联视图。8.根据权利要求6或7所述的方法,其特征在于,所述响应所述页面处理请求,确定所述待处理页面对应的调整后的布局控制数据之前,所述方法还包括:根据所述第一视图集合以及所述第一视图集合包括的各个视图之间的父子关系,确定所述目标视图对应的第二视图集合,所述第二视图集合包括所述第一视图集合中以所述目标视图的父视图为祖先视图的视图;从所述目标视图对应的第二视图集合中确定所述目标视图的关联视图。9.根据权利要求6或7所述的方法,其特征在于,所述调整后的布局控制数据包括所述目标视图的第一布局数据和所述目标视图的关联视图的第二布局数据中的一种或两种,所述确定所述待处理页面对应的调整后的布局控制数据,包括:确定所述目标视图的第一布局数据,所述第一布局数据是根据针对所述目标视图配置的布局规则确定的,所述布局规则用于描述视图之间的相对布局关系;或者,所述第一布局数据是根据针对所述目标视图配置的布局数据确定的;获取所述关联视图与所述目标视图之间的相对布局关系;根据所述关联视图与所述目标视图之间的相对布局关系,以及所述目标视图的第一布局数据确定所述关联视图的第二布局数据。10.一种页面处理装置,其特征在于,应用于客户端的页面控制器,所述装置包括:处理单元,用于在待处理页面对应的第一视图集合包括的各个视图加载完成之后,将所述第一视图集合包括的各个视图的实际显示数据与参考显示数据进行匹配,所述第一视图集合包括一个或多个视图;发送单元,用于若目标视图的实际显示数据与对应的参考显示数据不匹配,则向服务器发送页面处理请求,所述目标视图为所述第一视图集合包括的任意一个视图;接收单元,用于接收所述服务器响应所述页面处理请求发送的所述待处理页面对应的调整后的布局控制数据,所述调整后的布局控制数据用于对所述目标视图和所述目标视图的关联视图中的一个或多个进行重新加载。11.一种页面处理装置,其特征在于,所述装置包括:接收单元,用于接收客户端发送的页面处理请求,所述页面处理请求是所述客户端在确定待处理页面对应的第一视图集合中目标视图的实际显示数据与对应的参考显示数据不匹配时生成的,所述第一视图集合包括一个或多个视图;处理单元,用于响应所述页面处理请求,确定所述待处理页面对应的调整后的布局控制数据;
发送单元,用于向所述客户端发送所述调整后的布局控制数据,所述调整后的布局控制数据用于对所述目标视图和所述目标视图的关联视图中的一个或多个进行重新加载。12.一种计算机设备,其特征在于,所述计算机设备包括存储器、通信接口以及处理器,所述存储器、所述通信接口和所述处理器相互连接;所述存储器存储有计算机程序,所述处理器调用所述存储器中存储的计算机程序,用于实现权利要求1至5中任一项所述的页面处理方法,或者权利要求6至9中任一项所述的页面处理方法。13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的页面处理方法,或者权利要求6至9中任一项所述的页面处理方法。14.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序或计算机指令,所述计算机程序或计算机指令被处理器执行时实现权利要求1至5中任一项所述的页面处理方法,或者权利要求6至9中任一项所述的页面处理方法。
技术总结
一种页面处理方法、装置、设备、存储介质及计算机程序产品,应用于云技术、人工智能、区块链、车联网、智慧交通、智能家居等各种领域或场景,该方法包括:在待处理页面对应的第一视图集合包括的各个视图加载完成之后,将第一视图集合包括的各个视图的实际显示数据与参考显示数据进行匹配;若目标视图的实际显示数据与对应的参考显示数据不匹配,则向服务器发送页面处理请求;接收服务器响应页面处理请求发送的待处理页面对应的调整后的布局控制数据,调整后的布局控制数据用于对目标视图和目标视图的关联视图中的一个或多个进行重新加载。本申请实施例,可以准确地定位到显示异常的视图,提升对用户界面进行还原测试的高效性和准确性。确性。确性。
技术研发人员:苟亚明
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2021.12.31
技术公布日:2023/7/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
