一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

服务间测试方法及装置、存储介质及电子设备与流程

2022-11-13 12:54:27 来源:中国专利 TAG:


1.本发明涉及自动化测试技术领域,特别是涉及一种服务间测试方法及装置、存储介质及电子设备。


背景技术:

2.随着互联网金融的发展,银行业务量、数据量不断增长。基于分布式架构系统的灵活性、可靠性等优点,能够满足当前银行的需求,因此当前银行的核心系统由传统主机式逐渐向分布式架构系统转变,同时相应的软件的测试活动也需要进行转变。
3.在目前的分布式架构系统中,dubbo开源分布式服务框架为高性能的服务框架,其相应的软件的测试活动主要集中在单元测试,外部服务接口测试和功能测试,但现有的robotframework自动化测试框架无法在dubbo框架上进行服务间测试,导致dubbo框架缺少服务间测试,从而无法测试软件内部的服务功能的正确性。


技术实现要素:

4.有鉴于此,本发明提供一种服务间测试方法,通过该方法,使基于dubbo框架的情况下结合robotframework框架所形成的dubbo系统能够实现服务间的测试。
5.本发明还提供了一种服务间测试装置,用以保证上述方法在实际中的实现及应用。
6.一种服务间测试方法,包括:
7.从预设的案例库中,选取当前用户预先标记的目标案例;
8.确定所述目标案例中预先定义的各个案例参数;
9.获取预设的系统参数集中与所述目标案例对应的目标系统参数组,确定所述目标系统参数组对应的预设接口文件,基于各个所述案例参数对所述预设接口文件进行预处理,生成所述预设接口文件对应的目标接口文件;
10.测试所述目标接口文件,得到所述目标接口文件对应的测试结果;
11.确定所述目标接口文件中的请求报文,并将所述请求报文输入至已建立的服务列表中,依据所述请求报文确定所述服务列表中与所述目标案例对应的目标服务,获取所述目标服务对应的返回报文,解析所述返回报文,得到所述目标服务的服务功能;
12.依据所述测试结果确定所述目标案例的案例功能,将所述目标服务的服务功能与所述目标案例的案例功能进行匹配,当所述服务功能与所述案例功能匹配一致时,输出所述测试结果。
13.上述的方法,可选的,所述从预设的案例库中,选取当前用户预先标记的目标案例,包括:
14.遍历所述案例库中的所有案例;
15.确定每个所述案例是否具有用户预先标记的案例标签;
16.将具有所述案例标签的案例确定为所述目标案例。
17.上述的方法,可选的,所述获取预设的系统参数集中与所述目标案例对应的目标系统参数组,包括:
18.获取所述系统参数集中的所有系统参数组;
19.从所有所述系统参数组中确定已设为待执行的系统参数组;
20.将所述已设为待执行的系统参数组确定为与所述目标案例对应的目标系统参数组。
21.上述的方法,可选的,所述基于各个所述案例参数对所述预设接口文件进行预处理,生成所述预设接口文件对应的目标接口文件,包括:
22.确定所述预设接口文件中的各个预处理区域,并确定各个所述预处理区域对应的各个区域属性;
23.依据各个所述区域属性,将所述各个预处理区域分离成各个非空区域和各个可空区域;
24.从各个所述案例参数中查找与各个所述预处理区域对应的各个目标参数;
25.从各个所述目标参数中确定与各个所述非空区域对应的各个非空参数,将各个所述非空参数覆盖到各个所述非空区域中,生成所述预设接口文件对应的目标接口文件。
26.一种服务间测试装置,包括:
27.选取单元,用于从预设的案例库中,选取当前用户预先标记的目标案例;
28.确定单元,用于确定所述目标案例中预先定义的各个案例参数;
29.预处理单元,用于获取预设的系统参数集中与所述目标案例对应的目标系统参数组,确定所述目标系统参数组对应的预设接口文件,基于各个所述案例参数对所述预设接口文件进行预处理,生成所述预设接口文件对应的目标接口文件;
30.测试单元,用于测试所述目标接口文件,得到所述目标接口文件对应的测试结果;
31.解析单元,用于确定所述目标接口文件中的请求报文,并将所述请求报文输入至已建立的服务列表中,依据所述请求报文确定所述服务列表中与所述目标案例对应的目标服务,获取所述目标服务对应的返回报文,解析所述返回报文,得到所述目标服务的服务功能;
32.输出单元,用于依据所述测试结果确定所述目标案例的案例功能,将所述目标服务的服务功能与所述目标案例的案例功能进行匹配,当所述服务功能与所述案例功能匹配一致时,输出所述测试结果。
33.上述的装置,可选的,所述选取单元,包括:
34.遍历子单元,用于遍历所述案例库中的所有案例;
35.第一确定子单元,用于确定每个所述案例是否具有用户预先标记的案例标签;
36.第二确定子单元,用于将具有所述案例标签的案例确定为所述目标案例。
37.上述的装置,可选的,所述预处理单元,包括:
38.获取子单元,用于获取所述系统参数集中的所有系统参数组;
39.第三确定子单元,用于从所有所述系统参数组中确定已设为待执行的系统参数组;
40.第四确定子单元,用于将所述已设为待执行的系统参数组确定为与所述目标案例对应的目标系统参数组。
41.上述的装置,可选的,所述预处理单元,包括:
42.第五确定子单元,用于确定所述预设接口文件中的各个预处理区域,并确定各个所述预处理区域对应的各个区域属性;
43.分离子单元,用于依据各个所述区域属性,将所述各个预处理区域分离成各个非空区域和各个可空区域;
44.查找子单元,用于从各个所述案例参数中查找与各个所述预处理区域对应的各个目标参数;
45.生成子单元,用于从各个所述目标参数中确定与各个所述非空区域对应的各个非空参数,将各个所述非空参数覆盖到各个所述非空区域中,生成所述预设接口文件对应的目标接口文件。
46.一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如上述的服务间测试方法。
47.一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行如上述的服务间测试方法。
48.与现有技术相比,本发明包括以下优点:从预设的案例库中,选取当前用户预先标记的目标案例;确定所述目标案例中预先定义的各个案例参数;获取预设的系统参数集中与所述目标案例对应的目标系统参数组,确定所述目标系统参数组对应的预设接口文件,基于各个所述案例参数对所述预设接口文件进行预处理,生成所述预设接口文件对应的目标接口文件;测试所述目标接口文件,得到所述目标接口文件对应的测试结果;确定所述目标接口文件中的请求报文,并将所述请求报文输入至已建立的服务列表中,依据所述请求报文确定所述服务列表中与所述目标案例对应的目标服务,获取所述目标服务对应的返回报文,解析所述返回报文,得到所述目标服务的服务功能;依据所述测试结果确定所述目标案例的案例功能,将所述目标服务的服务功能与所述目标案例的案例功能进行匹配,当所述服务功能与所述案例功能匹配一致时,输出所述测试结果。应用本发明的方法,能够在dubbo框架下进行服务间自动化测试,提供了便利性。
附图说明
49.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
50.图1为本发明实施例提供的一种服务间测试方法的方法流程图;
51.图2为本发明实施例提供的一种服务间测试方法的又一方法流程图;
52.图3为本发明实施例提供的一种服务间测试装置的装置结构图;
53.图4为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
54.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
55.在本技术中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
56.本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
57.由背景技术可知,现有dubbo框架能够进行单元测试,外部服务接口测试和功能测试,但robotframework自动化测试框架无法在dubbo框架上进行服务间测试,导致dubbo框架缺少服务间测试,从而无法测试软件内部的服务功能的正确性。
58.因此,本发明实施例提供了一种服务间测试方法及装置、存储介质及电子设备,通过将dubbo框架与robotframework框架结合,即基于robotframework框架,针对dubbo框架下服务间通信的消息,进行二次开发,从而产生一套针对分布式框架的自动化测试系统(dubbo系统)。使用户在预设的案例库中勾选出与dubbo系统中的服务对应的目标案例进行测试,根据目标案例来确定出与dubbo系统的被测服务相应的接口文件,通过对接口文件进行测试以测试被测服务的功能。
59.本发明实施例提供的方法中,分布式系统是若干独立计算机的集合,这计算机对用户来说就像单个相关系统。在分布式系统中:1、应用可以按业务类型拆分成多个应用,再按结构分成接口层、服务层,人员也可以按访问入口分,如移动端、pc端等定义不同的接口应用;2、数据库可以按业务类型拆分成多个实例,还可以对单表进行分库分表;3、增加分布式缓存、搜索、文件、消息队列、非关系型数据库等中间件。
60.本发明实施例提供的方法中,dubbo框架是一个高性能优秀的服务框架,使得应用可通过高性能的rpc实现服务的输出和输入功能,可以和spring框架无缝集成。它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
61.本发明实施例提供的方法中,在一个软件开发准投入生产前,都需要进行多次软件测试,用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
62.本发明实施例提供的方法中,robot framework框架是一款python编写的功能自动化测试框架。具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。主要用于轮次很多的验收测试和验收测试驱动开发(atdd)。
63.本发明实施例提供了一种服务间测试方法,该方法的执行主体可以为计算机终端或各种移动设备的处理器,所述方法的方法流程图如图1所示,具体包括:
64.s101:从预设的案例库中,选取当前用户预先标记的目标案例;
65.本发明实施例提供的方法中,根据当前dubbo系统的服务,用户预设一个案例库,该案例库中包括预先设计好的与各个服务对应的各个测试案例,从案例库的各个测试案例中,用户可以标记好想要测试的服务功能对应的测试案例,对这个测试案例进行服务测试,其中标记测试案例的方式可以为勾选等方式,具体的标记方式由设计人员自行决定。当前dubbo框架的服务例如为注册服务、转账服务、购物服务等等,当用户想测试注册服务时,从案例库中标记出与该注册服务对应的注册服务案例,将这个注册服务案例进行测试。
66.需要说明的是,用户除了可以对预先设计好的测试案例进行选择标记,用户还可以根据自身的需求重新设计新的测试案例,将新的测试案例直接输入到dubbo系统中作为目标案例进行测试。
67.s102:确定所述目标案例中预先定义的各个案例参数;
68.本发明实施例提供的方法中,每个测试案例中包含多个案例参数,各个案例参数比如为案例名称、案例电话、案例邮箱等等。
69.s103:获取预设的系统参数集中与所述目标案例对应的目标系统参数组,确定所述目标系统参数组对应的预设接口文件,基于各个所述案例参数对所述预设接口文件进行预处理,生成所述预设接口文件对应的目标接口文件;
70.本发明实施例提供的方法中,dubbo系统中有一个由用户预先封装好的系统参数集,该系统参数集中包括用户预先封装好的多个系统参数组,比如用户可自定义并封装成变量参数组、商品参数组、环境参数组等等。用户可以根据自身需求,选择其中一个系统参数组,然后在这个系统参数组上对目标案例进行测试。
71.本发明实施例提供的方法中,如环境参数组按照环境的类型,可分为dev开发环境参数组和test测试环境参数组,环境参数组中一般包括服务器ip、服务器的用户名、服务器的用户密码等等。其中,dev包括开发环境各种配置参数,test包括测试环境各种配置参数,在执行测试前,预先设置dev=true或者test=true,目标案例在执行测试时,就会在值为true的环境中去执行,即只需要修改一个参数,便可以实现目标案例在不同环境下的服务功能。因此,在测试前,可以先读取系统参数集中的各个系统参数组,确定是哪个参数组被设为true,选取被设值为true的系统参数组,就可以在被设值为true的系统参数组上对目标案例进行测试了,这相当于是一个测试入口的选取。
72.本发明实施例提供的方法中,每个测试案例都是依据系统的每个服务设计所得,针对dubbo系统的每个服务,就会有1个对应的json格式的接口报文,即为json接口文件。因为每个测试案例都是对应dubbo系统中的每个服务所设计,同时也参考每个服务对应的json接口文件对应设计了目标系统参数组相应的预设接口文件,在某种角度上,其预设接口文件也是与测试案例相对应的。该预设接口文件的预设过程为:遍历对应的服务的json接口文件,定义该json接口文件的服务名和方法名,以及定义该json接口文件中的接口的所有入参。入参为接口请求所需要的变量参数,通常情况下,入参的默认值有两种方式:非空和可空,相当于必填参数和非必填参数。非空的参数,在json格式的接口报文中可以直接赋值;可空的参数,在json格式的接口报文中赋值为null,通常为对不使用的对象赋值为
null,有利于减少内存占用。
73.本发明实施例提供的方法中,目标案例在被设值为true的系统参数组上执行测试,就是在该系统参数组上加载该目标案例的各个案例参数,也就是将各个案例参数输入到系统参数组中。例如目标案例为getpersioninfoxx服务的案例,当dev开发环境参数组设为true时,读取dev文件夹下的环境参数,知道了对应开发环境的信息,基于该开发环境的信息输入目标案例的案例参数则得到getpersioninfoxx服务的测试案例相应的执行参数{"name":"12","mobile":"13011112222","email":"3432sf@test.com"}。
74.本发明实施例提供的方法中,当目标案例在系统参数组上执行时,需要基于目标案例的各个案例参数来对预设接口文件进行预处理,首先需要确定出预设接口文件中需要进行预处理的区域,即预设接口文件中原先被定义的接口的所有入参的预处理的区域,在所有的预处理的区域中分离出哪些是被定义为非空的区域,哪些是被定义为可空的区域。针对于可空的区域不做任何处理操作,即赋值为null的区域对应的请求参数为空,而针对于非空的区域,根据目标案例的各个案例参数,对于每个非空区域,用相应的案例参数来进行覆盖非空参数,若是存在某个非空区域未找到相应的案例参数来覆盖该非空区域的非空参数,则照常使用该非空区域上的非空参数。根据经过预处理的预设接口文件以得到目标接口文件,根据该目标接口文件来输出后续需要发送的请求报文。
75.s104:测试所述目标接口文件,得到所述目标接口文件对应的测试结果;
76.本发明实施例提供的方法中,通过该dubbo系统能够对目标案例对应的接口文件进行测试,得到测试结果,即目标案例基于预设的目标系统参数组上执行的过程。
77.s105:确定所述目标接口文件中的请求报文,并将所述请求报文输入至已建立的服务列表中,依据所述请求报文确定所述服务列表中与所述目标案例对应的目标服务,获取所述目标服务对应的返回报文,解析所述返回报文,得到所述目标服务的服务功能;
78.本发明实施例提供的方法中,dubbo系统中封装了一个底层lib库,这个底层lib库作为该dubbo系统的底层基础,可以对请求报文进行发送或返回报文进行接收,其底层lib库可以有效的对所有参数进行管理。底层lib库所封装的过程为:针对于dubbo框架的协议标准,使用python脚本语言,对调用消息的发送或接收进行封装,使得此lib库具备模拟客户customer,封装请求报文,发送dubbo调用到提供者provider,解析返回报文的功能。
79.本发明实施例提供的方法中,目标接口文件中包含了目标案例对应的请求报文,将请求报文通过底层lib库发送到dubbo系统中的服务列表中,根据该请求报文可以确定出服务列表中与该目标案例对应的被测服务的请求报文,将被测服务的请求报文作为返回报文,由底层lib库接收该返回报文的同时解析该返回报文,解析出该被测服务对应的服务功能。
80.s106:依据所述测试结果确定所述目标案例的案例功能,将所述目标服务的服务功能与所述目标案例的案例功能进行匹配,当所述服务功能与所述案例功能匹配一致时,输出所述测试结果。
81.本发明实施例提供的方法中,通过将目标服务的服务功能与目标案例的案例功能进行匹配,以确定该目标案例的测试结果是否符合预期要求。目标案例的测试情况和测试结果可以生成报告等,以报告的形式输出给用户,使用户能够查看该目标案例的测试情况和测试结果。
82.本发明实施例提供的方法中,从预设的案例库中,选取当前用户预先标记的目标案例;确定所述目标案例中预先定义的各个案例参数;获取预设的系统参数集中与所述目标案例对应的目标系统参数组,确定所述目标系统参数组对应的预设接口文件,基于各个所述案例参数对所述预设接口文件进行预处理,生成所述预设接口文件对应的目标接口文件;测试所述目标接口文件,得到所述目标接口文件对应的测试结果;确定所述目标接口文件中的请求报文,并将所述请求报文输入至已建立的服务列表中,依据所述请求报文确定所述服务列表中与所述目标案例对应的目标服务,获取所述目标服务对应的返回报文,解析所述返回报文,得到所述目标服务的服务功能;依据所述测试结果确定所述目标案例的案例功能,将所述目标服务的服务功能与所述目标案例的案例功能进行匹配,当所述服务功能与所述案例功能匹配一致时,输出所述测试结果。应用本发明的方法,能够在dubbo框架下进行服务间自动化测试,提供了便利性。
83.基于上述实施例提供的方法,步骤s101中提及的从预设的案例库中,选取当前用户预先标记的目标案例,包括:
84.遍历所述案例库中的所有案例;
85.确定每个所述案例是否具有用户预先标记的案例标签;
86.将具有所述案例标签的案例确定为所述目标案例。
87.本发明实施例提供的方法中,由用户预先自定义一个或多个案例,可以将这些案例汇总成一个案例库。当用户需要对案例库中某个案例执行测试时,由用户根据需求勾选出一个目标案例,系统根据所勾选的勾选标签在遍历所有案例后确定出这个目标案例。用户也可以根据需求重新自定义新的案例到案例库中,勾选这个新的案例以测试这个案例。
88.基于上述实施例提供的方法,步骤s103中提及的获取预设的系统参数集中与所述目标案例对应的目标系统参数组,包括:
89.获取所述系统参数集中的所有系统参数组;
90.从所有所述系统参数组中确定已设为待执行的系统参数组;
91.将所述已设为待执行的系统参数组确定为与所述目标案例对应的目标系统参数组。
92.本发明实施例提供的方法中,预先设置为true的系统参数为待执行的目标系统参数组,在测试案例执行测试时,先加载目标系统参数组,使测试案例在该目标系统参数组上执行测试。
93.基于上述实施例提供的方法,步骤s103中提及的基于各个所述案例参数对所述预设接口文件进行预处理,生成所述预设接口文件对应的目标接口文件,包括:
94.确定所述预设接口文件中的各个预处理区域,并确定各个所述预处理区域对应的各个区域属性;
95.依据各个所述区域属性,将所述各个预处理区域分离成各个非空区域和各个可空区域;
96.从各个所述案例参数中查找与各个所述预处理区域对应的各个目标参数;
97.从各个所述目标参数中确定与各个所述非空区域对应的各个非空参数,将各个所述非空参数覆盖到各个所述非空区域中,生成所述预设接口文件对应的目标接口文件。
98.本发明实施例提供的方法中,在自动化测试系统中执行案例时,需要对预设接口
文件进行预处理。每个dubbo服务请求参数,都保存在一个独立的json文件(预设接口文件)中,其请求参数如:请求request的所有参数字段(参数值有2种方式:可空和非空)和服务名,方法名等信息,每个dubbo服务的每个json文件都保存在一个文件中。在案例执行时,先加载环境信息,获取开发环境(或测试环境)下相应服务的地址ip和接口port,在案例执行前,加载用例中参数值和服务对应的json文件中参数值,合二为一,其中的案例参数优先使用。当进行预处理后,就可以获取到真正发送请求前的所有必备信息,包括:服务provider的ip,port,和真正的请求参数。
99.本发明实施例提供的方法中,基于各个案例参数对所述预设接口文件进行预处理的过程,可以通过编写与目标案例对应的执行脚本来进行目标案例的案例参数与json文件参数的替换过程,提高了预处理的效率,尤其是在一个服务的请求参数达到上百个的时候,也能够快速的进行预处理操作。
100.本发明实施例提供的方法中,未查找到与各个预处理区域中某个预处理区域对应的目标参数,则是在目标案例中并没有设置此目标参数,此时使用json文件中的默认值。
101.基于上述实施例提供的方法,参考图2,示出了本发明实施例提供的一种服务间测试方法的又一方法流程图,包括:
102.s201:选择测试案例;
103.开始进行执行服务间的测试,先按照robotframework框架的功能从案例库中选择一个测试案例进行测试,若在案例库中无法选择出测试案例,则结束执行,此时需要用户重新自定义一个新的测试案例并标记,系统根据所标记的标签来选择测试案例。
104.s202:加载系统参数;
105.加载系统参数也包括加载环境参数等。通常环境参数分2类,dev和test。dev包括开发环境各种配置参数,test包括测试环境各种配置参数。在执行测试前,设置dev=true或者test=true,则测试案例执行时,就会在值为true的环境中去执行。这里实现了,只改变一个参数,就可以测试不同环境的功能。
106.s203:加载案例参数;
107.每个测试用例都有自己的输入参数,比如:getpersioninfoxx,{"name":"12","mobile":"13011112222","email":"3432sf@test.com"}。
108.s204:加载dubbo接口文件;
109.这里会加载getpersioninfoxx服务对应的json文件,格式如下:
[0110][0111]
在json文件中进行相应的参数替换,用当前用例中参数去替换json文件中参数,最后输出为真正需要发送的请求。如果用例中没有设置此参数时,则使用json文件中默认值;如果json中为null,则此请求参数为空。
[0112]
s205:测试模块;
[0113]
负责用例执行,收集测试结果,生成报告等(robotframework的功能)。
[0114]
s206:lib库(dubbo发送/接收);
[0115]
负责拼装最后的dubbo请求报文发送给dubbo服务中,解析返回报文的功能;
[0116]
s207:被测服务;
[0117]
根据s206步骤的lib库发送过来的请求报文,以dubbo服务从确定出对应的被测服务。
[0118]
与图1所述的方法相对应,本发明实施例还提供了一种服务间测试装置,用于对图1中方法的具体实现,本发明实施例提供的一种服务间测试装置可以应用计算机终端或各种移动设备中,其结构示意图如图3所示,具体包括:
[0119]
选取单元301,用于从预设的案例库中,选取当前用户预先标记的目标案例,所述目标案例中包含多个案例参数;
[0120]
确定单元302,用于确定所述目标案例中预先定义的各个案例参数;
[0121]
预处理单元303,用于获取预设的系统参数集中与所述目标案例对应的目标系统参数组,确定所述目标系统参数组对应的预设接口文件,基于各个所述案例参数对所述预设接口文件进行预处理,生成所述预设接口文件对应的目标接口文件;
[0122]
测试单元304,用于测试所述目标接口文件,得到所述目标接口文件对应的测试结果;
[0123]
解析单元305,用于确定所述目标接口文件中的请求报文,并将所述请求报文输入至已建立的服务列表中,依据所述请求报文确定所述服务列表中与所述目标案例对应的目标服务,获取所述目标服务对应的返回报文,解析所述返回报文,得到所述目标服务的服务功能;
[0124]
输出单元306,用于依据所述测试结果确定所述目标案例的案例功能,将所述目标服务的服务功能与所述目标案例的案例功能进行匹配,当所述服务功能与所述案例功能匹配一致时,输出所述测试结果。
[0125]
基于本发明实施例提供的装置,从预设的案例库中,选取当前用户预先标记的目标案例;确定所述目标案例中预先定义的各个案例参数;获取预设的系统参数集中与所述目标案例对应的目标系统参数组,确定所述目标系统参数组对应的预设接口文件,基于各个所述案例参数对所述预设接口文件进行预处理,生成所述预设接口文件对应的目标接口文件;测试所述目标接口文件,得到所述目标接口文件对应的测试结果;确定所述目标接口文件中的请求报文,并将所述请求报文输入至已建立的服务列表中,依据所述请求报文确定所述服务列表中与所述目标案例对应的目标服务,获取所述目标服务对应的返回报文,解析所述返回报文,得到所述目标服务的服务功能;依据所述测试结果确定所述目标案例的案例功能,将所述目标服务的服务功能与所述目标案例的案例功能进行匹配,当所述服务功能与所述案例功能匹配一致时,输出所述测试结果。应用本发明的装置,能够在dubbo框架下进行服务间自动化测试,提供了便利性。
[0126]
在上述实施例提供的装置的基础上,本发明实施例提供的装置中,所述选取单元301,包括:
[0127]
遍历子单元,用于遍历所述案例库中的所有案例;
[0128]
第一确定子单元,用于确定每个所述案例是否具有用户预先标记的案例标签;
[0129]
第二确定子单元,用于将具有所述案例标签的案例确定为所述目标案例。
[0130]
在上述实施例提供的装置的基础上,本发明实施例提供的装置中,所述预处理单元303,包括:
[0131]
获取子单元,用于获取所述系统参数集中的所有系统参数组;
[0132]
第三确定子单元,用于从所有所述系统参数组中确定已设为待执行的系统参数组;
[0133]
第四确定子单元,用于将所述已设为待执行的系统参数组确定为与所述目标案例对应的目标系统参数组。
[0134]
在上述实施例提供的装置的基础上,本发明实施例提供的装置中,所述预处理单元303,包括:
[0135]
第五确定子单元,用于确定所述预设接口文件中的各个预处理区域,并确定各个所述预处理区域对应的各个区域属性;
[0136]
分离子单元,用于依据各个所述区域属性,将所述各个预处理区域分离成各个非空区域和各个可空区域;
[0137]
查找子单元,用于从各个所述案例参数中查找与各个所述预处理区域对应的各个目标参数;
[0138]
生成子单元,用于从各个所述目标参数中确定与各个所述非空区域对应的各个非空参数,将各个所述非空参数覆盖到各个所述非空区域中,生成所述预设接口文件对应的目标接口文件。
[0139]
本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如上述的服务间测试方法。
[0140]
本发明实施例还提供了一种电子设备,其结构示意图如图4所示,具体包括存储器401,以及一个或者一个以上的指令402,其中一个或者一个以上指令402存储于存储器401中,且经配置以由一个或者一个以上处理器403执行所述一个或者一个以上指令402进行以
下操作:
[0141]
从预设的案例库中,选取当前用户预先标记的目标案例;
[0142]
确定所述目标案例中预先定义的各个案例参数;
[0143]
获取预设的系统参数集中与所述目标案例对应的目标系统参数组,确定所述目标系统参数组对应的预设接口文件,基于各个所述案例参数对所述预设接口文件进行预处理,生成所述预设接口文件对应的目标接口文件;
[0144]
测试所述目标接口文件,得到所述目标接口文件对应的测试结果;
[0145]
确定所述目标接口文件中的请求报文,并将所述请求报文输入至已建立的服务列表中,依据所述请求报文确定所述服务列表中与所述目标案例对应的目标服务,获取所述目标服务对应的返回报文,解析所述返回报文,得到所述目标服务的服务功能;
[0146]
依据所述测试结果确定所述目标案例的案例功能,将所述目标服务的服务功能与所述目标案例的案例功能进行匹配,当所述服务功能与所述案例功能匹配一致时,输出所述测试结果。
[0147]
需要说明的是,本发明提供的一种服务间测试方法及装置、存储介质及电子设备可用于分布式领域或金融领域。上述仅为示例,并不对本发明提供的一种服务间测试方法及装置、存储介质及电子设备的应用领域进行限定。
[0148]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0149]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现。
[0150]
为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0151]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献