数据处理方法、装置、终端设备以及存储介质与流程

文档序号:30619469发布日期:2022-07-02 02:04阅读:83来源:国知局
数据处理方法、装置、终端设备以及存储介质与流程

1.本技术涉及计算机技术领域,尤其涉及一种数据处理方法、装置、终端设备以及存储介质。


背景技术:

2.随着版本迭代,应用程序的功能更加贴近人们的实际需求,其页面展示也变得更加丰富多样。在应用程序每次进行版本更新时,通常需要对应用程序进行兼容性测试,即测试或验证应用程序是否能够正常显示各种样式的页面。当前,测试或开发人员一般会通过手动修改数据中部分字段的值,以生成mock数据进行测试,但是这种通过测试人员手动mock数据的方式测试效率低,且由于测试人员的mock数据存在主观因素,因此无法覆盖到各种数据场景,使被测试程序无法被全面验证。因此,如何提高测试效率、且更加全面地对应用程序进行测试成为当前亟待解决的问题。


技术实现要素:

3.本技术实施例提供一种数据处理方法、装置、终端设备以及存储介质,可提高应用程序的测试效率和提高对应用程序的测试全面性。
4.第一方面,本技术实施例提供了一种数据处理方法,该方法包括:
5.拦截第二应用的至少一个页面展示数据,其中,所述至少一个页面展示数据是所述第二应用基于至少一个第一应用发送的数据获取请求返回的;
6.基于第一预设mock规则对拦截到的各第一应用对应的页面展示数据进行修改,并将修改后的上述各第一应用对应的页面展示数据存储在数据库的消息队列中,其中,上述数据库包括至少一个消息队列,一个消息队列用于存储一个第一应用对应的页面展示数据,所述第一预设mock规则用于确定页面展示数据的修改方式;
7.当启动目标第一应用的页面测试时,通过用于存储上述目标第一应用对应的页面展示数据的目标消息队列,将修改后的上述目标第一应用对应的页面展示数据发送给上述目标第一应用,以对上述目标第一应用进行页面测试。
8.结合第一方面,在一种可能的实施方式中,上述方法还包括:
9.当接收到目标第一应用发送的页面测试请求时,确定启动上述目标第一应用的页面测试,并根据上述页面测试请求从上述多个消息队列中确定出目标消息队列,上述目标消息队列用于存储上述目标第一应用对应的页面展示数据。
10.结合第一方面,在一种可能的实施方式中,上述数据库中还包括多个队列标识,一个队列标识用于唯一标记一个消息队列;
11.上述根据上述页面测试请求从上述多个消息队列中确定出目标消息队列,包括:
12.根据上述页面测试请求中包括的应用标识,从上述多个队列标识中获取与上述应用标识关联的目标队列标识;
13.从上述多个消息队列中,确定出上述目标队列标识对应的消息队列作为目标消息
队列。
14.结合第一方面,在一种可能的实施方式中,上述方法还包括:
15.当基于用户操作界面获取到向上述目标第一应用发送页面展示数据的数据发送指令时,确定启动上述目标第一应用的页面测试;
16.根据上述数据发送指令中包括的队列标识,从上述多个消息队列中,确定出上述队列标识对应的目标消息队列,上述目标消息队列用于存储上述目标第一应用对应的页面展示数据。
17.结合第一方面,在一种可能的实施方式中,上述拦截第二应用的至少一个页面展示数据之前,上述方法还包括:
18.基于抓包工具拦截上述多个第一应用向上述第二应用发送的初始数据获取请求;
19.按照第二预设mock规则,对各个第一应用发送的初始数据获取请求中的参数进行修改,得到修改后的各初始数据获取请求;
20.基于上述抓包工具将上述修改后的各初始数据获取请求作为上述各个第一应用发送的数据获取请求发送至上述第二应用,以触发上述第二应用基于多个第一应用发送的数据获取请求返回多个页面展示数据。
21.结合第一方面,在一种可能的实施方式中,上述页面展示数据为json格式数据;上述第一预设mock规则中包括多种字段类型中各字段类型对应的修改规则;
22.上述基于第一预设mock规则对拦截到的各第一应用对应的页面展示数据进行修改之前,上述方法还包括:
23.对拦截到的各第一应用对应的json格式数据进行格式解析,得到上述各第一应用对应的json格式数据中包括的各字段类型,以及上述各字段类型对应的值;
24.上述基于第一预设mock规则对拦截到的各第一应用对应的页面展示数据进行修改包括:
25.从上述第一预设mock规则中获取各字段类型对应的修改规则,并根据上述各种字段类型对应的修改规则对上述各第一应用对应的json格式数据中包括的各字段类型对应的值进行修改。
26.结合第一方面,在一种可能的实施方式中,上述通过用于存储上述目标第一应用对应的页面展示数据的目标消息队列,将修改后的上述目标第一应用对应的页面展示数据发送给上述目标第一应用之后,上述方法还包括:
27.接收上述目标第一应用根据上述修改后的上述目标第一应用对应的页面展示数据进行页面测试后返回的测试详情数据,并根据上述测试详情数据生成测试报告。
28.第二方面,本技术实施例提供了一种数据处理装置,该装置包括:
29.页面展示数据拦截模块,用于拦截第二应用的至少一个页面展示数据,其中,所述至少一个页面展示数据是所述第二应用基于至少一个第一应用发送的数据获取请求返回的;
30.页面展示数据处理模块,用于基于第一预设mock规则对拦截到的各第一应用对应的页面展示数据进行修改,并将修改后的上述各第一应用对应的页面展示数据存储在数据库的消息队列中,其中,上述数据库包括至少一个消息队列,一个消息队列用于存储一个第一应用对应的页面展示数据,所述第一预设mock规则用于确定页面展示数据的修改方式;
31.页面展示数据发送模块,用于当启动目标第一应用的页面测试时,通过用于存储上述目标第一应用对应的页面展示数据的目标消息队列,将修改后的上述目标第一应用对应的页面展示数据发送给上述目标第一应用,以对上述目标第一应用进行页面测试。
32.结合第二方面,在一种可能的实施方式中,上述装置还包括第一测试启动模块,上述第一测试启动模块包括:
33.页面测试请求接收单元,用于当接收到目标第一应用发送的页面测试请求时,确定启动上述目标第一应用的页面测试;
34.第一目标消息队列确定单元,用于根据上述页面测试请求从上述多个消息队列中确定出目标消息队列,上述目标消息队列用于存储上述目标第一应用对应的页面展示数据。
35.结合第二方面,在一种可能的实施方式中,上述数据库中还包括多个队列标识,一个队列标识用于唯一标记一个消息队列;
36.上述第一目标消息队列确定单元具体用于:
37.根据上述页面测试请求中包括的应用标识,从上述多个队列标识中获取与上述应用标识关联的目标队列标识;
38.从上述多个消息队列中,确定出上述目标队列标识对应的消息队列作为目标消息队列。
39.结合第二方面,在一种可能的实施方式中,上述装置还包括第二测试启动模块,上述第二测试启动模块包括:
40.数据发送指令获取单元,用于当基于用户操作界面获取到向上述目标第一应用发送页面展示数据的数据发送指令时,确定启动上述目标第一应用的页面测试;
41.第二目标消息队列确定单元,用于根据上述数据发送指令中包括的队列标识,从上述多个消息队列中,确定出上述队列标识对应的目标消息队列,上述目标消息队列用于存储上述目标第一应用对应的页面展示数据。
42.结合第二方面,在一种可能的实施方式中,上述装置还包括:
43.数据获取请求拦截模块,用于基于上述抓包工具拦截上述多个第一应用向上述第二应用发送的初始数据获取请求;
44.数据获取请求修改模块,用于按照第二预设mock规则,对各个第一应用发送的初始数据获取请求中的参数进行修改,得到修改后的各初始数据获取请求;
45.数据获取请求发送模块,用于基于上述抓包工具将上述修改后的各初始数据获取请求作为上述各个第一应用发送的数据获取请求发送至上述第二应用,以触发上述第二应用基于多个第一应用发送的数据获取请求返回多个页面展示数据。
46.结合第二方面,在一种可能的实施方式中,上述页面展示数据为json格式数据;上述第一预设mock规则中包括多种字段类型中各字段类型对应的修改规则;
47.上述装置还包括:
48.数据格式解析模块,用于对拦截到的各第一应用对应的json格式数据进行格式解析,得到上述各第一应用对应的json格式数据中包括的各字段类型,以及上述各字段类型对应的值;
49.上述页面展示数据处理模块包括页面展示数据修改单元和消息队列生成单元,上
述页面展示数据修改单元具体用于:
50.从上述第一预设mock规则中获取各字段类型对应的修改规则,并根据上述各种字段类型对应的修改规则对上述各第一应用对应的json格式数据中包括的各字段类型对应的值进行修改。
51.结合第二方面,在一种可能的实施方式中,上述装置还包括:
52.测试结果处理模块,用于接收上述目标第一应用根据上述修改后的上述目标第一应用对应的页面展示数据进行页面测试后返回的测试详情数据,并根据上述测试详情数据生成测试报告。
53.第三方面,本技术实施例提供了一种终端设备,该终端设备包括处理器、存储器和收发器,该处理器、存储器和收发器相互连接。该存储器用于存储支持该终端设备执行上述第一方面和/或第一方面任一种可能的实现方式提供的方法的计算机程序,该计算机程序包括程序指令,该处理器和收发器被配置用于调用上述程序指令,执行上述第一方面和/或第一方面任一种可能的实施方式所提供的方法。
54.第四方面,本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时使该处理器执行上述第一方面和/或第一方面任一种可能的实施方式所提供的方法。
55.在本技术实施例中,当第三应用基于抓包工具拦截到第二应用基于多个第一应用发送的数据获取请求返回的多个页面展示数据时,可以基于第一预设mock规则对拦截到的各第一应用对应的页面展示数据进行修改,并将修改后的各第一应用对应的页面展示数据存储在数据库的消息队列中,其中,数据库包括多个消息队列,一个消息队列用于存储一个第一应用对应的页面展示数据。当启动目标第一应用的页面测试时,通过用于存储目标第一应用对应的页面展示数据的目标消息队列,将修改后的目标第一应用对应的页面展示数据发送给目标第一应用,以对目标第一应用进行页面测试。采用本技术实施例,可提高测试效率和测试全面性。
附图说明
56.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
57.图1是本技术实施例提供的一种系统架构图;
58.图2是本技术实施例提供的数据处理方法的一流程示意图;
59.图3是本技术实施例提供的页面展示的应用场景图;
60.图4是本技术实施例提供的数据处理过程的示意图;
61.图5是本技术实施例提供的数据处理方法的另一流程示意图;
62.图6是本技术实施例提供的数据处理装置的一结构示意图;
63.图7是本技术实施例提供的数据处理装置的另一结构示意图;
64.图8是本技术实施例提供的终端设备的结构示意图。
具体实施方式
65.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
66.请参见图1,图1是本技术实施例提供的一种系统架构图。如图1所示,服务端10d可以通过网络与终端设备集群1建立连接,终端设备集群1可以包括:终端设备10a、终端设备10b、...、终端设备10c。其中,图1所示的各终端设备均可以包括手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,mid)、可穿戴设备(例如智能手表、智能手环等)等,在此不做限制。应当理解的是,服务端10d可以与终端设备集群1中的各个终端设备进行数据传输,各个终端设备可以装载有具备各种功能性的应用程序,为方便描述,上述各个终端设备上装载有的各种功能性的应用程序可以以第一应用为例进行示例说明。可选的,第一应用可以是视频类应用、即时通讯类应用、游戏类应用和购物类应用等,或者,第一应用也可以是小程序和网页等。在本技术中,多个第一应用可以为多种不同类型的应用程序,例如,多个第一应用可以为视频类应用程序a,视频类应用程序b、即时通讯类应用c和游戏类应用d等。可选的,第一应用也可以是进程,多个第一应用也可为同一个应用程序中启动的多个进程。比如,同一个应用程序可以有多个用户账号,一个用户账号登录该应用程序时可触发启动一个进程,该进程可用于服务该用户账号。上述多个第一应用可以是同一个应用程序中的多个进程,一个进程用于服务登录该应用程序的一个用户账号。可选的,当第一应用为应用程序时,第一应用的应用标识则为应用程序标识。当第一应用为进程时,第一应用的应用标识则为进程标识。上述第一应用的具体表现形式可根据实际应用场景需求确定,在此不做限制。为方便描述,下面将以第一应用为例进行说明,相应的,上述应用程序标识或者进程标识可以以第一应用的应用标识为例进行示例说明,下面不再赘述。
67.服务端10d可以是第一应用的本地服务器,也可以是远程服务器(例如,云端服务器)等。其中,服务端10d也可以安装应用程序,为方便描述,可将安装在服务端的应用程序简称为第二应用。应当理解的是,服务端的第二应用中存储有多个第一应用中各第一应用所需的各种类型的数据和信息。因此,当终端设备中的各第一应用向服务端中的第二应用发送数据获取请求时,该服务端中的第二应用可基于接收到的数据获取请求向终端设备的第一应用返回数据情况,以更新终端设备中第一应用的界面展示情况。应当理解的是,在本技术中,各个终端设备中还可以装载有第三应用,该第三应用为本技术开发的用于对终端设备中各第一应用进行测试的测试类应用。应当理解的是,本技术实施例中的第三应用可以与第一应用装载在同一终端设备中,或者,第三应用也可以与第一应用装载在不同的终端设备中,具体根据实际应用场景确定,在此不做限制。
68.本技术实施例提供的数据处理方法,可适用于如图1所示系统的终端设备中的第三应用。具体地,本技术实施例中的方法,第三应用可以基于抓包工具拦截第二应用基于多个第一应用发送的数据获取请求返回的多个页面展示数据。然后,第三应用可基于第一预设mock规则对拦截到的各第一应用对应的页面展示数据进行修改,并将修改后的各第一应用对应的页面展示数据存储在数据库的消息队列中。应当理解的是,上述数据库包括多个
消息队列,一个消息队列用于存储一个第一应用对应的页面展示数据,第一预设mock规则用于确定页面展示数据的修改方式。其中,当启动目标第一应用的页面测试时,通过用于存储目标第一应用对应的页面展示数据的目标消息队列,将修改后的目标第一应用对应的页面展示数据发送给目标第一应用,以对目标第一应用进行页面测试。采用本技术实施例,可提高应用程序的测试效率和提高对应用程序的测试全面性。
69.下面将结合图2至图8分别对本技术实施例提供的方法及相关装置分别进行详细说明。
70.请参见图2,图2为本技术实施例提供的数据处理方法的一流程示意图。本技术实施例提供的方法可以包括如下步骤s201至s203:
71.s201、拦截第二应用的至少一个页面展示数据。
72.在一些可行的实施方式中,随着版本迭代,应用程序功能逐渐变得多样,对于终端设备中的客户端或应用程序(即第一应用)而言,一种功能可能呈现出多种展现形态,具体展现的规则是由服务端中第二应用返回的数据而定。举例来说,请参见图3,图3是本技术实施例提供的页面展示的应用场景图。其中,如图3所示的展示页面为某一视频类应用程序(即第一应用)的开屏广告的3种不同展现形态,其中,展现规则可以设定为:当用户的手机尾号为1,3,5时,显示第一种展现形态的展示页面,当用户的手机尾号为2,4,6时,显示第二种展现形态的展示页面,当用户的手机尾号为7,8,9,0时,显示第三种展现形态的展示页面。具体展现逻辑为:当手机尾号为1的用户启动该第一应用时,展现首页之前第一应用会向服务端中的第二应用发送请求,该请求中包含了当前用户的手机号码,若第二应用判断其手机尾号需要第一种展现形态的展示页面,因此,第二应用将返回给该第一应用上述第一种展示页面对应的页面展示数据,以通过该第一应用向用户展示该页面展示数据。
73.在一些可行的实施方式中,由于不同的页面展示数据对应的页面或者页面元素有细节上的差异,因此开发、测试人员在对每种情况进行检验时都会进行页面展示数据的mock。在本技术实施例中,终端设备的第三应用可以借助抓包工具拦截第二应用基于多个第一应用发送的数据获取请求返回的多个页面展示数据。也就是说,第三应用可基于抓包工具拦截第二应用的至少一个页面展示数据,其中,至少一个页面展示数据是第二应用基于至少一个第一应用发送的数据获取请求返回的。其中,上述抓包工具可以是charles工具等,在此不做限制。应当理解的是,charles工具可理解为是一种代理服务器,其通过成为终端设备的代理,因此可以截取或拦截终端设备中安装的多个第一应用与服务端中安装的第二应用之间的通信数据,并对外提供对拦截到的通信数据的修改功能。例如第三应用可基于charles拦截第一应用向第二应用发送的请求数据,并基于charles的rewrite功能对拦截到的请求数据中的请求参数进行修改。又例如,第三应用还可以基于charles拦截到第二应用基于接收到的请求数据反馈给第一应用的请求结果数据(例如页面展示数据)等,并基于charles的maplocal功能对拦截到的请求结果数据进行修改。其中,本技术中第一应用向第二应用发送的请求数据为页面展示数据的数据获取请求,第二应用基于第一应用的请求数据返回的请求结果数据为页面展示数据。
74.应当理解的是,第三应用具备跨平台性,在打开charles的情况下,第三应用可通过端口号找到charles,然后对charles的已开启功能进行检索遍历,以找到charles中的maplocal功能和rewrite功能。其中,rewrite用于当第一应用在发送请求数据时,对拦截到
的请求数据中的请求参数进行修改。maplocal用于当第一应用在获取请求结果数据时,对拦截到的请求结果数据进行修改。
75.s202、基于第一预设mock规则对拦截到的各第一应用对应的页面展示数据进行修改,并将修改后的各第一应用对应的页面展示数据存储在数据库的消息队列中。
76.在一些可行的实施方式中,当第三应用基于抓包工具拦截到第二应用基于多个第一应用发送的数据获取请求返回的多个页面展示数据时,第三应用可借助抓包工具的修改功能,以及基于第三应用的数据库中存储的第一预设mock规则,对拦截到的各第一应用对应的页面展示数据进行修改,并将修改后的各第一应用对应的页面展示数据存储在数据库的消息队列中。其中,数据库包括多个消息队列,一个消息队列用于存储一个第一应用对应的页面展示数据。为方便描述,以下本技术实施例以第三应用拦截多个第一应用中的一个第一应用与第二应用之间的通信数据为例进行说明。例如,请参见图4,图4是本技术实施例提供的数据处理过程的示意图。如图4所示,当第一应用x(该第一应用x为多个第一应用中的一个第一应用)的页面开始加载时,第一应用x可向第二应用发送数据获取请求,其中,数据获取请求中可包括第二应用所在的服务器名,请求参数,请求时间,签名等信息。由于charles开启了rewrite功能,因此,第三应用可基于charles拦截第一应用x向第二应用发送的数据获取请求,并保存在第三应用的数据库中。然后,第三应用可基于charles直接将数据获取请求发送给第二应用(即不对第一应用x向第二应用发送的数据获取请求进行修改),或者,第三应用也可以对数据获取请求进行修改后,将修改后的数据获取请求通过charles发送给第二应用。进一步地,第三应用同样可通过charles拦截第二应用向第一应用x返回的页面展示数据,并通过第一预设mock规则,对第二应用返回的页面展示数据进行修改,以将修改后的页面展示数据存储在数据库中第一应用x对应的消息队列中。
77.通常而言,页面展示数据为json格式数据,第一预设mock规则用于确定页面展示数据的修改方式,包括多种字段类型,以及各字段类型对应的修改规则。其中,第三应用通过对拦截到的各第一应用对应的json格式数据进行格式解析,可得到各第一应用对应的json格式数据中包括的各字段类型,以及各字段类型对应的值。其中,当基于第一预设mock规则对拦截到的各第一应用对应的页面展示数据进行修改时,可以从第一预设mock规则中获取各字段类型对应的修改规则,并根据各种字段类型对应的修改规则对各第一应用对应的json格式数据中包括的各字段类型对应的值进行修改。也就是说,第三应用在对json数据做格式化扫描后,可以解析出json中包括的数组(array)、对象(object)、字符串(string)、存储(auto)等类型的字段,进而根据第一预设mock规则中各字段类型对应的修改规则,对各第一应用的页面展示数据中包括的各字段类型的值进行修改。例如,对于数组类型,可以对空数据和长度大于预设长度的数据进行随机生成,或者,也可以对数组元素内容进行修改,例如对元素个数进行删除或增加等。又例如,对于对象类型,可以对对象类型对应的值进行随机取值,或者生成非对象类型的数据。又例如,针对字符串类型,可以通过random函数对length=0和length》64的字符串进行随机生成,且生成非字符串类型数据等,具体根据实际应用场景确定,在此不做限制。应当理解的是,由于每个数据获取请求对应的页面展示数据不一样,因此第一预设mock规则可根据上下文进行修改和定制。应当理解的是,上述修改后的页面展示数据也可以称为模拟数据,即mock数据。其中,模拟非本类型的数据,即对数据进行修改是为了校验第一应用对数据兼容的健壮性,防止由于第二应
用内部逻辑错误而导致数据类型错乱时,引发第一应用崩溃等问题。
78.可选的,在一些可行的实施方式中,当第三应用拦截到的第一应用向第二应用发送的数据获取请求后,第三应用还可以根据数据获取请求中包括的请求参数等内容生成数据标识,以用于保存对应的第二应用返回的数据。也就是说,当服务器中的第二应用基于第一应用发送的数据获取请求返回了页面展示数据,且被第三应用基于抓包工具拦截并修改后,第三应用可将修改后的页面展示数据与对应的数据标识进行关联存储,因此,在后续使用时,该数据标识可作为对应的页面展示数据的索引。其中,上述数据标识可以是将数据获取请求中包括的请求参数等内容进行拼接后,基于信息摘要算法(message-digest algorithm 5,md5)对拼接后的数据进行计算后生成的唯一标识符。进一步地,第三应用可将数据标识存储在数据库中各第一应用对应的消息队列中。也就是说,每个应用程序对应的消息队列中存储了每个第一应用的页面展示数据对应的数据标识,因此,后续通过消息队列中的数据标识可从数据库中获取到唯一对应的页面展示数据。
79.s203、当启动目标第一应用的页面测试时,通过用于存储目标第一应用对应的页面展示数据的目标消息队列,将修改后的目标第一应用对应的页面展示数据发送给目标第一应用。
80.在一些可行的实施方式中,当启动目标第一应用的页面测试时,通过用于存储目标第一应用对应的页面展示数据的目标消息队列,可将修改后的目标第一应用对应的页面展示数据发送给目标第一应用,以对目标第一应用进行页面测试。也就是说,当开发或测试人员要对某个应用程序的页面数据进行兼容测试或者验证时,可通过消息队列来传输数据。其中,目标第一应用为有测试需求的一个应用或多个应用。例如,假设终端设备中安装了多个第一应用,分别为第一应用1,第一应用2和第一应用3。其中,假设当前有测试需求的应用为第一应用1,则目标第一应用为第一应用1,假设当前有测试需求的应用为第一应用2,则目标第一应用为第一应用2。
81.具体地,当接收到目标第一应用发送的页面测试请求时,确定启动目标第一应用的页面测试,并根据页面测试请求从多个消息队列中确定出目标消息队列,目标消息队列用于存储目标第一应用对应的页面展示数据。其中,页面测试请求中包括应用标识,该应用标识用于唯一标记一个第一应用,数据库中包括多个队列标识,一个队列标识用于唯一标记一个消息队列。因此,当根据页面测试请求从多个消息队列中确定出目标消息队列时,可以根据页面测试请求中包括的应用标识,从多个队列标识中获取与应用标识关联的队列标识作为目标队列标识。进一步地,从多个消息队列中,确定出目标队列标识对应的消息队列作为目标消息队列。
82.应当理解的是,上述每个第一应用对应的队列标识可以与每个第一应用的应用标识相同,即每个第一应用对应的队列标识为其对应的应用标识。可选的,上述每个第一应用对应的队列标识也可以与每个第一应用的应用标识不相同,但是每个第一应用对应的队列标识与应用标识之间的一一映射关系存储在数据库中,因此,根据页面测试请求中包括的应用标识,可以从数据库中存储的队列标识与应用标识之间的映射关系中确定出与目标第一应用的应用标识相关联的目标队列标识,进而从数据库中的多个消息队列中,确定出目标队列标识对应的消息队列作为目标消息队列,并通过队列的方式将目标消息队列中存储的页面展示数据反馈给目标第一应用。
83.可选的,在一些可行的实数方式中,为便于开发、测试人员进行直接操作,第三应用还可以包括用户操作页面,因此,测试人员或开发人员可以通过在第三应用的用户操作界面主动触发对目标第一应用的测试。其中,当第三应用基于第三应用的用户操作界面获取到第三应用向目标第一应用发送页面展示数据的数据发送指令时,可以确定启动目标第一应用的页面测试。进而,第三应用可以根据数据发送指令中包括的队列标识,从多个消息队列中,确定出队列标识对应的消息队列作为目标消息队列,并通过队列的方式将目标消息队列中存储的页面展示数据反馈给目标第一应用。例如,当第一应用需要做页面的加速渲染时,由于第一应用对数据的实时性要求比较高,这时就需要第三应用主动向第一应用发送数据,因此,当第三应用通过队列的方式向第一应用发送数据时,第三应用可通过与第一应用建立长连接,进而通过长连接的方式传输数据。
84.应当理解的是,开发或测试人员还可以基于第三应用的用户操作界面进行其他操作,例如,测试人员还可以基于用户操作界面增加、删除或修改mock规则。具体地,当第三应用基于用户操作界面获取到新增mock规则、删除mock规则或修改mock规则的指令时,可基于获取到的指令对第三应用的数据库中存储的mock规则执行相应操作。应当理解的是,mock规则包括针对第二应用发送的页面展示数据的第一预设mock规则和针对第一应用发送的数据获取请求的第二预设mock规则。第一预设mock规则和第二预设mock可以相同,也可以不同,具体根据实际应用场景确定,在此不做限制。
85.在本技术实施例中,当第三应用基于抓包工具拦截到第二应用基于多个第一应用发送的数据获取请求返回的多个页面展示数据时,可以基于第一预设mock规则对拦截到的各第一应用对应的页面展示数据进行修改,并将修改后的各第一应用对应的页面展示数据存储在数据库的消息队列中,其中,数据库包括多个消息队列,一个消息队列用于存储一个第一应用对应的页面展示数据。当启动目标第一应用的页面测试时,通过用于存储目标第一应用对应的页面展示数据的目标消息队列,将修改后的目标第一应用对应的页面展示数据发送给目标第一应用,以对目标第一应用进行页面测试。采用本技术实施例,可提高测试效率和测试全面性。
86.请参见图5,图5是本技术实施例提供的数据处理方法的另一流程示意图。本技术实施例提供的数据处理方法可通过如下步骤s301至s306提供的实现方式进行说明:
87.s301、基于抓包工具拦截多个第一应用向第二应用发送的初始数据获取请求。
88.在一些可行的实施方式中,多个第一应用中每个第一应用在向第二应用发送数据获取请求(即初始数据获取请求)前,可先进行埋点操作,以记录其请求时间和请求参数等信息,进而每个第一应用可通过超文本传送协议(hypertext transport protocol,http)协议将初始数据获取请求进行分段得到多个分段请求,并通过发送分段请求的方式向第二进行发送初始数据获取请求。其中,一个分段请求中包括完整的初始数据获取请求中的部分数据内容,因此基于http协议对多个分段请求进行组装后,可得到完整的初始数据获取请求。
89.应当理解的是,本技术中的初始数据获取请求为第一应用向第二应用发送的原始、未被拦截和修改前的数据获取请求。其中,当第三应用基于抓包工具拦截到任一第一应用向第二应用发送的分段请求时,该第三应用可将拦截到的各分段请求进行组装,以得到完整的初始数据获取请求,进而对完整的初始数据获取请求进行处理。
90.s302、按照第二预设mock规则,对各个第一应用发送的初始数据获取请求中的参数进行修改,得到修改后的各初始数据获取请求。
91.在一些可行的实施方式中,当第三应用通过抓包工具拦截到每个第一应用向第二应用发送的分段请求,并基于http协议组装得到完整的初始数据获取请求后,可根据数据库中存储的第二预设mock规则,对各个第一应用发送的初始数据获取请求中的参数进行修改,得到修改后的各初始数据获取请求。通常而言,数据获取请求也是json格式数据,因此,第三应用通过对获取到的初始数据获取请求进行格式解析,可得到初始数据获取请求中包括的各个字段类型,以及各字段类型对应的值。因此,根据第二预设mock规则中包括的多种字段类型以及各字段类型对应的修改规则,可对初始数据获取请求中各字段类型对应的值进行修改,得到修改后的各初始数据获取请求。
92.s303、基于抓包工具将修改后的各初始数据获取请求作为各个第一应用发送的数据获取请求发送至第二应用,以触发第二应用基于多个第一应用发送的数据获取请求返回多个页面展示数据。
93.在一些可行的实施方式中,通过第二预设mock规则对初始数据获取请求进行修改后,可将修改后的初始数据获取请求作为第一应用向第二应用发送的数据获取请求,以通过抓包工具将修改后的初始数据获取请求发送给第二应用。具体地,当第三应用通过抓包工具向第二应用发送修改后的初始数据获取请求时,同样可以基于http协议将修改后的初始数据获取请求进行分段,得到多个分段请求,并以发送分段请求的方式将修改后的初始数据获取请求发送给第二应用。其中,当第二应用接收到多个分段请求后,同样可基于http协议对接收到的多个分段请求进行组装,以得到完整的数据获取请求进行处理,即第二应用根据组装得到的完整的数据获取请求向对应的第一应用返回页面展示数据。应当理解的是,若采用直接发送完整数据获取请求的数据发送方式,则当数据获取请求的数据量过大时,会导致数据获取请求发送失败,因此,本技术实施例通过采用分段发送数据获取请求的发送方式,可提高数据获取请求的发送成功率。
94.s304、拦截第二应用的至少一个页面展示数据。
95.s305、基于第一预设mock规则对拦截到的各第一应用对应的页面展示数据进行修改,并将修改后的各第一应用对应的页面展示数据存储在数据库的消息队列中。
96.s306、当启动目标第一应用的页面测试时,通过用于存储目标第一应用对应的页面展示数据的目标消息队列,将修改后的目标第一应用对应的页面展示数据发送给目标第一应用。
97.其中,所述步骤s304至步骤s306的具体实现方式可以参见图1对应的实施例中对步骤s201至步骤s203的描述,这里不再进行赘述。
98.s307、接收目标第一应用根据修改后的目标第一应用对应的页面展示数据进行页面测试后返回的测试详情数据,并根据测试详情数据生成测试报告。
99.在一些可行的实施方式中,当目标第一应用基于目标消息队列中存储的目标第一应用对应的各个页面展示数据进行页面测试后,即目标第一应用基于接收到的页面展示数据进行页面加载或页面渲染后,目标第一应用可向第三应用发送测试详细数据,以使得第三应用可根据接收到的测试详情数据生成测试报告。其中,测试详情数据可以是第一应用中的日志数据,因此,第三应用可通过分析第一应用进行页面测试时生成的日志数据,确定
目标第一应用的页面显示是否出现过错乱,或者,通过分析第一应用进行页面测试时生成的日志数据,确定目标第一应用是否在运行过程中出现过崩溃等,以生成目标第一应用的测试报告。进而,测试人员或开发人员可根据生成的测试报告对目标第一应用进行进一步优化和改进。
100.在本技术实施例中,第三应用可基于抓包工具拦截多个第一应用向第二应用发送的初始数据获取请求,并按照第二预设mock规则,对各个第一应用发送的初始数据获取请求中的参数进行修改,可以得到修改后的各初始数据获取请求。进而,第三应用可基于抓包工具将修改后的各初始数据获取请求作为各个第一应用发送的数据获取请求发送至第二应用,以触发第二应用基于多个第一应用发送的数据获取请求返回多个页面展示数据。其中,当第三应用基于抓包工具拦截到第二应用基于多个第一应用发送的数据获取请求返回的多个页面展示数据时,可以基于第一预设mock规则对拦截到的各第一应用对应的页面展示数据进行修改,并将修改后的各第一应用对应的页面展示数据存储在数据库的消息队列中,其中,数据库包括多个消息队列,一个消息队列用于存储一个第一应用对应的页面展示数据。当启动目标第一应用的页面测试时,通过用于存储目标第一应用对应的页面展示数据的目标消息队列,将修改后的目标第一应用对应的页面展示数据发送给目标第一应用,以对目标第一应用进行页面测试。进一步地,第三应用可接收目标第一应用根据修改后的目标第一应用对应的页面展示数据进行页面测试后返回的测试详情数据,并根据测试详情数据生成测试报告。采用本技术实施例,可提高测试效率和测试全面性。
101.请参见图6,图6是本技术实施例提供的数据处理装置的一结构示意图。本技术实施例提供的数据处理装置包括:
102.页面展示数据拦截模块41,用于拦截第二应用的至少一个页面展示数据,其中,上述至少一个页面展示数据是上述第二应用基于至少一个第一应用发送的数据获取请求返回的;
103.页面展示数据处理模块42,用于基于第一预设mock规则对拦截到的各第一应用对应的页面展示数据进行修改,并将修改后的上述各第一应用对应的页面展示数据存储在数据库的消息队列中,其中,上述数据库包括至少一个消息队列,一个消息队列用于存储一个第一应用对应的页面展示数据,第一预设mock规则用于确定页面展示数据的修改方式;
104.页面展示数据发送模块43,用于当启动目标第一应用的页面测试时,通过用于存储上述目标第一应用对应的页面展示数据的目标消息队列,将修改后的上述目标第一应用对应的页面展示数据发送给上述目标第一应用,以对上述目标第一应用进行页面测试。
105.请一并请参见图7,图7是本技术实施例提供的数据处理装置的另一结构示意图。
106.在一些可行的实施方式中,上述装置还包括第一测试启动模块44,上述第一测试启动模块44包括:
107.页面测试请求接收单元441,用于当接收到目标第一应用发送的页面测试请求时,确定启动上述目标第一应用的页面测试;
108.第一目标消息队列确定单元442,用于根据上述页面测试请求从上述多个消息队列中确定出目标消息队列,上述目标消息队列用于存储上述目标第一应用对应的页面展示数据。
109.在一些可行的实施方式中,上述数据库中还包括多个队列标识,一个队列标识用
于唯一标记一个消息队列;
110.上述第一目标消息队列确定单元442具体用于:
111.根据上述页面测试请求中包括的应用标识,从上述多个队列标识中获取与上述应用标识关联的目标队列标识;
112.从上述多个消息队列中,确定出上述目标队列标识对应的消息队列作为目标消息队列。
113.在一些可行的实施方式中,上述装置还包括第二测试启动模块45,上述第二测试启动模块45包括:
114.数据发送指令获取单元451,用于当基于用户操作界面获取到向上述目标第一应用发送页面展示数据的数据发送指令时,确定启动上述目标第一应用的页面测试;
115.第二目标消息队列确定单元452,用于根据上述数据发送指令中包括的队列标识,从上述多个消息队列中,确定出上述队列标识对应的目标消息队列,上述目标消息队列用于存储上述目标第一应用对应的页面展示数据。
116.在一些可行的实施方式中,上述装置还包括:
117.数据获取请求拦截模块46,用于基于抓包工具拦截上述多个第一应用向上述第二应用发送的初始数据获取请求;
118.数据获取请求修改模块47,用于按照第二预设mock规则,对各个第一应用发送的初始数据获取请求中的参数进行修改,得到修改后的各初始数据获取请求;
119.数据获取请求发送模块48,用于基于上述抓包工具将上述修改后的各初始数据获取请求作为上述各个第一应用发送的数据获取请求发送至上述第二应用,以触发上述第二应用基于多个第一应用发送的数据获取请求返回多个页面展示数据。
120.在一些可行的实施方式中,上述页面展示数据为json格式数据;上述第一预设mock规则中包括多种字段类型中各字段类型对应的修改规则;
121.上述装置还包括:
122.数据格式解析模块49,用于对拦截到的各第一应用对应的json格式数据进行格式解析,得到上述各第一应用对应的json格式数据中包括的各字段类型,以及上述各字段类型对应的值;
123.上述页面展示数据处理模块42包括页面展示数据修改单元421和消息队列生成单元422,上述页面展示数据修改单元421具体用于:
124.从上述第一预设mock规则中获取各字段类型对应的修改规则,并根据上述各种字段类型对应的修改规则对上述各第一应用对应的json格式数据中包括的各字段类型对应的值进行修改。
125.在一些可行的实施方式中,上述装置还包括:
126.测试结果处理模块410,用于接收上述目标第一应用根据上述修改后的上述目标第一应用对应的页面展示数据进行页面测试后返回的测试详情数据,并根据上述测试详情数据生成测试报告。
127.在本技术实施例中,数据处理装置可基于抓包工具拦截多个第一应用向第二应用发送的初始数据获取请求,并按照第二预设mock规则,对各个第一应用发送的初始数据获取请求中的参数进行修改,得到修改后的各初始数据获取请求。进而,基于抓包工具将修改
后的各初始数据获取请求作为各个第一应用发送的数据获取请求发送至第二应用,以触发第二应用基于多个第一应用发送的数据获取请求返回多个页面展示数据。其中,当基于抓包工具拦截到第二应用基于多个第一应用发送的数据获取请求返回的多个页面展示数据时,可以基于第一预设mock规则对拦截到的各第一应用对应的页面展示数据进行修改,并将修改后的各第一应用对应的页面展示数据存储在数据库的消息队列中,其中,数据库包括多个消息队列,一个消息队列用于存储一个第一应用对应的页面展示数据。当启动目标第一应用的页面测试时,通过用于存储目标第一应用对应的页面展示数据的目标消息队列,将修改后的目标第一应用对应的页面展示数据发送给目标第一应用,以对目标第一应用进行页面测试。进一步地,可接收目标第一应用根据修改后的目标第一应用对应的页面展示数据进行页面测试后返回的测试详情数据,并根据测试详情数据生成测试报告。采用本技术实施例,可提高测试效率和测试全面性。
128.请参见图8,图8是本技术实施例提供的终端设备的结构示意图。如图8所示,本实施例中的终端设备可以包括:一个或多个处理器501、存储器502和收发器503。上述处理器501、存储器502和收发器503通过总线504连接。存储器502用于存储计算机程序,该计算机程序包括程序指令,处理器501和收发器503用于执行存储器502存储的程序指令,执行如下操作:
129.处理器501,用于拦截第二应用的至少一个页面展示数据,其中,上述至少一个页面展示数据是上述第二应用基于至少一个第一应用发送的数据获取请求返回的;
130.处理器501,用于基于第一预设mock规则对拦截到的各第一应用对应的页面展示数据进行修改,并将修改后的上述各第一应用对应的页面展示数据存储在数据库的消息队列中,其中,上述数据库包括至少一个消息队列,一个消息队列用于存储一个第一应用对应的页面展示数据,上述第一预设mock规则用于确定页面展示数据的修改方式;
131.收发器503,用于当启动目标第一应用的页面测试时,通过用于存储上述目标第一应用对应的页面展示数据的目标消息队列,将修改后的上述目标第一应用对应的页面展示数据发送给上述目标第一应用,以对上述目标第一应用进行页面测试。
132.在一些可行的实施方式中,当基于收发器503接收到目标第一应用发送的页面测试请求时,确定启动上述目标第一应用的页面测试;
133.处理器501,用于根据上述页面测试请求从上述多个消息队列中确定出目标消息队列,上述目标消息队列用于存储上述目标第一应用对应的页面展示数据。
134.在一些可行的实施方式中,上述数据库中还包括多个队列标识,一个队列标识用于唯一标记一个消息队列;上述处理器501用于:
135.根据上述页面测试请求中包括的应用标识,从上述多个队列标识中获取与上述应用标识关联的目标队列标识;
136.从上述多个消息队列中,确定出上述目标队列标识对应的消息队列作为目标消息队列。
137.在一些可行的实施方式中,上述处理器501用于:
138.当基于用户操作界面获取到向上述目标第一应用发送页面展示数据的数据发送指令时,确定启动上述目标第一应用的页面测试,并根据上述数据发送指令中包括的队列标识,从上述多个消息队列中,确定出上述队列标识对应的目标消息队列,上述目标消息队
列用于存储上述目标第一应用对应的页面展示数据。
139.在一些可行的实施方式中,上述处理器501,用于基于抓包工具拦截上述多个第一应用向上述第二应用发送的初始数据获取请求;
140.上述处理器501,用于按照第二预设mock规则,对各个第一应用发送的初始数据获取请求中的参数进行修改,得到修改后的各初始数据获取请求;
141.上述收发器503,用于基于上述抓包工具将上述修改后的各初始数据获取请求作为上述各个第一应用发送的数据获取请求发送至上述第二应用,以触发上述第二应用基于多个第一应用发送的数据获取请求返回多个页面展示数据。
142.在一些可行的实施方式中,上述页面展示数据为json格式数据;上述第一预设mock规则中包括多种字段类型中各字段类型对应的修改规则;上述处理器501用于:
143.对拦截到的各第一应用对应的json格式数据进行格式解析,得到上述各第一应用对应的json格式数据中包括的各字段类型,以及上述各字段类型对应的值;
144.上述处理器501还用于:
145.从上述第一预设mock规则中获取各字段类型对应的修改规则,并根据上述各种字段类型对应的修改规则对上述各第一应用对应的json格式数据中包括的各字段类型对应的值进行修改。
146.在一些可行的实施方式中,上述收发器503,还用于接收上述目标第一应用根据上述修改后的上述目标第一应用对应的页面展示数据进行页面测试后返回的测试详情数据;
147.上述处理器501用于根据上述测试详情数据生成测试报告。
148.应当理解,在一些可行的实施方式中,上述处理器501可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。该存储器502可以包括只读存储器和随机存取存储器,并向处理器501提供指令和数据。存储器502的一部分还可以包括非易失性随机存取存储器。例如,存储器502还可以存储设备类型的信息。
149.具体实现中,上述终端设备可通过其内置的各个功能模块执行如上述图2至图5中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
150.在本技术实施例中,终端设备可基于抓包工具拦截多个第一应用向第二应用发送的初始数据获取请求,并按照第二预设mock规则,对各个第一应用发送的初始数据获取请求中的参数进行修改,得到修改后的各初始数据获取请求。进而,基于抓包工具将修改后的各初始数据获取请求作为各个第一应用发送的数据获取请求发送至第二应用,以触发第二应用基于多个第一应用发送的数据获取请求返回多个页面展示数据。其中,当基于抓包工具拦截到第二应用基于多个第一应用发送的数据获取请求返回的多个页面展示数据时,可以基于第一预设mock规则对拦截到的各第一应用对应的页面展示数据进行修改,并将修改后的各第一应用对应的页面展示数据存储在数据库的消息队列中,其中,数据库包括多个消息队列,一个消息队列用于存储一个第一应用对应的页面展示数据。当启动目标第一应用的页面测试时,通过用于存储目标第一应用对应的页面展示数据的目标消息队列,将修
改后的目标第一应用对应的页面展示数据发送给目标第一应用,以对目标第一应用进行页面测试。进一步地,可接收目标第一应用根据修改后的目标第一应用对应的页面展示数据进行页面测试后返回的测试详情数据,并根据测试详情数据生成测试报告。采用本技术实施例,可提高测试效率和测试全面性。
151.本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时实现图2至图5中各个步骤所提供的数据处理方法,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
152.上述计算机可读存储介质可以是前述任一实施例提供的数据处理装置或者上述终端设备的内部存储单元,例如电子设备的硬盘或内存。该计算机可读存储介质也可以是该电子设备的外部存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该电子设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该电子设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
153.本技术的权利要求书和说明书及附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
154.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
155.本技术实施例提供的方法及相关装置是参照本技术实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框
或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1