一种适用于微服务的接口测试方法、装置及系统与流程
未命名
07-14
阅读:147
评论:0
1.本发明涉及接口测试领域,尤其涉及一种适用于微服务的接口测试方法、装置及系统。
背景技术:
2.微服务间的接口调用测试是测试中的难点,微服务架构不同,采用的通信协议、编码协议也不同,对于测试人员来说,一般只能进行对外的api接口测试,比如常用的测试应用postman。而微服务架构的应用程序,一个api接口调用过程可能包含了多个应用服务,测试者很难检测服务之间的调用返回结果是否正确,从而难以检测边界条件下是否能正确处理请求数据。
技术实现要素:
3.本发明提供了一种适用于微服务的接口测试方法、装置及系统,以解决难以检测微服务中各个服务之间的接口调用返回结果的技术问题。
4.为了解决上述技术问题,本发明实施例提供了一种适用于微服务的接口测试方法,包括:
5.自定义设置接口参数和测试参数,根据所述接口参数和所述测试参数,生成json格式的第一数据;
6.发送所述第一数据至测试服务器,以使所述测试服务器根据所述第一数据,向微服务接口发送请求并接收所述微服务接口的请求结果,将所述请求结果转换至json格式的第二数据后进行返还;
7.接收并显示所述测试服务器返还的所述第二数据。
8.本发明自定义设置接口参数可以实现对微服务中各个服务之间的接口进行测试,而根据自定义设置的测试参数可对边界条件下能否处理请求数据进行测试;此外,采用json编码协议生成包含接口参数和测试参数的第一数据,便于测试人员编写api接口数据,结合测试服务器返回的json格式的第二数据,简化了对各个服务之间的接口调用返回结果的检测。
9.进一步地,所述根据所述接口参数和所述测试参数,生成json格式的第一数据,具体为:
10.根据所述接口参数和所述测试参数,生成协议文件;
11.使用协议解析工具,将所述协议文件转换为json格式的所述第一数据。
12.本发明通过协议解析工具将根据接口参数和测试参数生成的协议文件转换为json格式的第一数据,便于测试人员编写api接口数据,从而简化了对各个服务之间的接口调用返回结果的检测。
13.进一步地,所述根据所述第一数据,向微服务接口发送请求并接收所述微服务接口的请求结果,具体为:
14.根据所述微服务接口对应的编码协议规则,将所述第一数据转换为目标格式的请求数据;
15.根据目标微服务的通信协议,将所述请求数据发送至所述微服务接口,并接收所述微服务接口返还的目标格式的所述请求结果;所述目标微服务为所述微服务接口对应的微服务。
16.本发明通过将第一数据转化为与微服务接口对应的目标格式的请求数据,并通过目标微服务的通信协议向微服务接口发送请求数据,在接收返还的请求结果后实现对微服务接口的测试;请求数据通过目标微服务的通信协议发送,可使测试人员在发送第一数据时使用常用的通信协议,如:http、https等,而测试服务器在发送请求数据时自行实现通信协议的转换,简化了对各个服务之间的接口调用返回结果的检测。
17.进一步地,所述编码协议规则为protobuf协议规则。
18.进一步地,所述将所述请求结果转换至json格式的第二数据后进行返还,具体为:
19.在对目标格式的所述请求结果进行解码后,将解码后的所述请求结果转换至json格式的所述第二数据,并将所述第二数据进行返还。
20.本发明的测试结果在转换为json格式的第二数据后返还给测试人员,而json格式的第二数据便于测试人员检擦测试结果是否正确、以及在微服务接口边界情况下能否正确处理请求,简化了对各个服务之间的接口调用返回结果的检测。
21.进一步地,所述微服务接口包括一个或若干个微服务api接口。
22.本发明可同时对多个微服务api接口进行测试,可实现同时对一组微服务接口进行测试,简化了对各个服务之间的接口调用返回结果的检测。
23.另一方面,本发明实施例还提供了一种适用于微服务的接口测试装置,包括:数据生成模块、接口测试模块和结果显示模块;
24.其中,所述数据生成模块用于自定义设置接口参数和测试参数,根据所述接口参数和所述测试参数,生成json格式的第一数据;
25.所述接口测试模块用于发送所述第一数据至测试服务器,以使所述测试服务器根据所述第一数据,向微服务接口发送请求并接收所述微服务接口的请求结果,将所述请求结果转换至json格式的第二数据后进行返还;
26.所述结果显示模块用于接收并显示所述测试服务器返还的所述第二数据。
27.本发明自定义设置接口参数可以实现对微服务中各个服务之间的接口进行测试,而根据自定义设置的测试参数可对边界条件下能否处理请求数据进行测试;此外,采用json编码协议生成包含接口参数和测试参数的第一数据,便于测试人员编写api接口数据,结合测试服务器返回的json格式的第二数据,简化了对各个服务之间的接口调用返回结果的检测。
28.进一步地,所述数据生成模块包括:文件生成单元、第一格式转换单元;
29.其中,所述文件生成单元用于根据所述接口参数和所述测试参数,生成协议文件;
30.所述第一格式转换单元用于使用协议解析工具,将所述协议文件转换为json格式的所述第一数据。
31.本发明通过协议解析工具将根据接口参数和测试参数生成的协议文件转换为json格式的第一数据,便于测试人员编写api接口数据,从而简化了对各个服务之间的接口
调用返回结果的检测。
32.进一步地,所述接口测试模块包括:第二格式转换单元、接口测试单元;
33.其中,所述第二格式转换单元用于根据所述微服务接口对应的编码协议规则,将所述第一数据转换为目标格式的第二数据;
34.所述接口测试单元用于根据目标微服务的通信协议,将所述第二数据发送至所述微服务接口,并接收所述微服务接口返还的目标格式的所述请求结果;所述目标微服务为所述微服务接口对应的微服务。
35.本发明通过将第一数据转化为与微服务接口对应的目标格式的请求数据,并通过目标微服务的通信协议向微服务接口发送请求数据,在接收返还的请求结果后实现对微服务接口的测试;请求数据通过目标微服务的通信协议发送,可使测试人员在发送第一数据时使用常用的通信协议,如:http、https等,而测试服务器在发送请求数据时自行实现通信协议的转换,简化了对各个服务之间的接口调用返回结果的检测。
36.另一方面,本发明实施例还提供了一种适用于微服务的接口测试系统,包括:测试端、测试服务器和接口服务器;
37.其中,所述测试端用于执行如本发明实施例中所述的适用于微服务的接口测试方法;
38.所述测试服务器用于在接收所述测试端发送的json格式的第一数据后,将所述第一数据转换至目标格式的请求数据,并将所述请求数据发送至所述接口服务器;以及用于在接收所述接口服务器返回的请求结果后,将请求结果转换为json格式的第二数据,并将所述第二数据返还至所述测试端;
39.所述接口服务器用于接收所述请求数据,并返还所述请求结果至所述测试服务器。
40.本发明自定义设置接口参数可以实现对微服务中各个服务之间的接口进行测试,而根据自定义设置的测试参数可对边界条件下能否处理请求数据进行测试;此外,采用json编码协议生成包含接口参数和测试参数的第一数据,便于测试人员编写api接口数据,结合测试服务器返回的json格式的第二数据,简化了对各个服务之间的接口调用返回结果的检测。
附图说明
41.图1为本发明提供的适用于微服务的接口测试方法的一种实施例的流程示意图;
42.图2为本发明提供的适用于微服务的接口测试方法的另一种实施例的流程示意图;
43.图3为本发明提供的适用于微服务的接口测试方法的再一种实施例的流程示意图;
44.图4为本发明提供的适用于微服务的接口测试装置的一种实施例的结构示意图;
45.图5为本发明提供的适用于微服务的接口测试系统的一种实施例的结构示意图;
46.图6为本发明提供的适用于微服务的接口测试系统的一种实施例的时序示意图。
具体实施方式
47.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
48.实施例一
49.请参照图1,为本发明提供的适用于微服务的接口测试方法的一种实施例的流程示意图,主要包括步骤101-103,具体如下:
50.步骤101:自定义设置接口参数和测试参数,根据所述接口参数和所述测试参数,生成json格式的第一数据。
51.在本实施例中,测试人员可以在测试界面中对接口参数进行自定义设置,所述接口参数包括:接口名称、参数字段和参数类型;还可以在测试界面中对测试参数进行设置,所述测试参数包括:接口参数和上下文参数;所述接口参数随接口名称进行改变,所述上下文参数包括请求信息,例如:设备信息、应用版本信息和用户鉴权信息等。
52.在本实施例中,通过对接口参数和测试参数的自定义设置,可以使测试从业务场景出发覆盖多个服务共同完成一个业务流程的情况,例如:从用户下单到支付、退款以及查询退款单号等。
53.步骤102:发送所述第一数据至测试服务器,以使所述测试服务器根据所述第一数据,向微服务接口发送请求并接收所述微服务接口的请求结果,将所述请求结果转换至json格式的第二数据后进行返还。
54.在本实施例中,用于测试服务接口的第一数据和返还的第二数据都采用json格式,方便测试人员编写api接口参数和检验返回结果是否正确。
55.步骤103:接收并显示所述测试服务器返还的所述第二数据。
56.在本实施例中,第二数据可作为返回结果显示在测试页面中,便于测试人员检测返回结果是否正确,以及在边际情况下接口调用是否能正常处理。此外,在测试界面中,还可以包括历史检测结果,进一步简化对各个服务之间的接口调用返回结果的检测。
57.请参照图2,为本发明提供的适用于微服务的接口测试方法的另一种实施例的流程示意图。图2与图1的主要区别在于,图2包括步骤201和202,具体如下:
58.在本实施例中,步骤101具体包括步骤201和202。
59.步骤201:根据所述接口参数和所述测试参数,生成协议文件。
60.在本实施例中,协议文件包含接口参数和测试参数,例如:接口名称、用于提供客户端使用的全路径uri、请求协议,例如:http、https、请求方式、系统参数、请求参数、响应参数和返回实例等。
61.步骤202:使用协议解析工具,将所述协议文件转换为json格式的所述第一数据。
62.在本实施例中,协议解析工具可使用自研的协议解析工具,也可使用gson、fastjson等协议解析工具。
63.本发明通过协议解析工具将根据接口参数和测试参数生成的协议文件转换为json格式的第一数据,便于测试人员编写api接口数据,从而简化了对各个服务之间的接口调用返回结果的检测。
64.请参照图3为本发明提供的适用于微服务的接口测试方法的再一种实施例的流程示意图。图3与图1的主要区别在于,图3包括步骤301-302,具体如下:
65.在本实施例中,步骤102具体包括步骤301和步骤302。
66.步骤301:根据所述微服务接口对应的编码协议规则,将所述第一数据转换为目标格式的请求数据。
67.在本实施例中,所述编码协议规则为protobuf协议规则。在将第一数据发送至接口前,测试人员编写的第一数据在格式上标准化,测试服务器将json格式的第一数据转换为目标格式的请求数据,简化了对各个服务之间接口的检测。
68.在本实施例中,
69.步骤302:根据目标微服务的通信协议,将所述请求数据发送至所述微服务接口,并接收所述微服务接口返还的目标格式的所述请求结果;所述目标微服务为所述微服务接口对应的微服务。
70.在本实施例中,在向微服务进口发送请求时,还实现对通信协议的转换,使得测试满足微服务架构的通信协议,例如:tars、dubbo等,使得测试人员在测试界面采用http或https等常用通信协议将第一数据发送至测试服务器,而使测试服务器统一对用于测试的数据的格式和通信协议进行标准化处理,简化了测试人员对各个服务之间进行的检测。
71.在本实施例中,所述将所述请求结果转换至json格式的第二数据后进行返还,具体为:在对目标格式的所述请求结果进行解码后,将解码后的所述请求结果转换至json格式的所述第二数据,并将所述第二数据进行返还。
72.本发明的测试结果在转换为json格式的第二数据后返还给测试人员,而json格式的第二数据便于测试人员检擦测试结果是否正确、以及在微服务接口边界情况下能否正确处理请求,方便开发人员与测试人员的互相校验,简化了对各个服务之间的接口调用返回结果的检测。
73.在本实施例中,所述微服务接口包括一个或若干个微服务api接口。测试人员在测试界面可以同时选择多个微服务api接口进行测试,同时将包含测试参数的json格式的第一数据发送至测试服务器,以对多个微服务api接口进行测试,并根据返还的第二数据检验测试结果是否正确。
74.本发明可同时对多个微服务api接口进行测试,可实现同时对一组微服务接口进行测试,简化了对各个服务之间的接口调用返回结果的检测。
75.请参照图4,为本发明提供的适用于微服务的接口测试装置的一种实施例的结构示意图,主要包括:数据生成模块401、接口测试模块402和结果显示模块403。
76.在本实施例中,数据生成模块401用于自定义设置接口参数和测试参数,根据所述接口参数和所述测试参数,生成json格式的第一数据。
77.在本实施例中,数据生成模块401包括:文件生成单元、第一格式转换单元;其中,所述文件生成单元用于根据所述接口参数和所述测试参数,生成协议文件;所述第一格式转换单元用于使用协议解析工具,将所述协议文件转换为json格式的所述第一数据。
78.接口测试模块402用于发送所述第一数据至测试服务器,以使所述测试服务器根据所述第一数据,向微服务接口发送请求并接收所述微服务接口的请求结果,将所述请求结果转换至json格式的第二数据后进行返还。
79.在本实施例中,接口测试模块402包括:第二格式转换单元、接口测试单元;其中,所述第二格式转换单元用于根据所述微服务接口对应的编码协议规则,将所述第一数据转换为目标格式的第二数据;所述接口测试单元用于根据目标微服务的通信协议,将所述第二数据发送至所述微服务接口,并接收所述微服务接口返还的目标格式的所述请求结果;所述目标微服务为所述微服务接口对应的微服务。
80.在本实施例中,接口测试模块402还包括:第三格式转换单元;其中,第三格式转换单元用于在对目标格式的所述请求结果进行解码后,将解码后的所述请求结果转换至json格式的所述第二数据,并将所述第二数据进行返还。
81.结果显示模块403用于接收并显示所述测试服务器返还的所述第二数据。
82.请参照图5,为本发明提供的适用于微服务的接口测试系统的一种实施例的结构示意图,主要包括:测试端501、测试服务器502和接口服务器503。
83.在本实施例中,测试端501用于执行如本发明实施例中所述的适用于微服务的接口测试方法。
84.在本实施例中,测试端501上具有测试界面或测试页面,用于为测试人员提供接口参数和测试参数编写窗口;并且测试端501与测试服务器502通过http或https通信协议实现数据传输。
85.测试服务器502用于在接收所述测试端发送的json格式的第一数据后,将所述第一数据转换至目标格式的请求数据,并将所述请求数据发送至所述接口服务器;以及用于在接收所述接口服务器返回的请求结果后,将请求结果转换为json格式的第二数据,并将所述第二数据返还至所述测试端。
86.在本实施例中,测试服务器502完成对通信协议与编码协议的转换,使得测试人员对接口的测试过程实现标准化处理,使测试并不局限于采用常规的传输协议进行对外的api接口测试;请参照图6,为本发明提供的适用于微服务的接口测试系统的一种实施例的时序示意图,测试服务器502在发送请求时将第一数据转换为满足微服务接口的编码协议要求的格式,而在接收到接口服务器503,即api接口服务器,返回的请求接口后,再转换为json格式的第二数据;将第二数据通过http或https通信协议发送至测试端501,在测试界面或测试页面实现结果回显。
87.接口服务器503用于接收所述请求数据,并返还所述请求结果至所述测试服务器。
88.本发明自定义设置接口参数可以实现对微服务中各个服务之间的接口进行测试,而根据自定义设置的测试参数可对边界条件下能否处理请求数据进行测试;此外,采用json编码协议生成包含接口参数和测试参数的第一数据,便于测试人员编写api接口数据,结合测试服务器返回的json格式的第二数据,简化了对各个服务之间的接口调用返回结果的检测,从而方便开发人员与测试人员的互相校验、减少开发调试时间并加快测试进度。
89.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种适用于微服务的接口测试方法,其特征在于,包括:自定义设置接口参数和测试参数,根据所述接口参数和所述测试参数,生成json格式的第一数据;发送所述第一数据至测试服务器,以使所述测试服务器根据所述第一数据,向微服务接口发送请求并接收所述微服务接口的请求结果,将所述请求结果转换至json格式的第二数据后进行返还;接收并显示所述测试服务器返还的所述第二数据。2.如权利要求1所述的适用于微服务的接口测试方法,其特征在于,所述根据所述接口参数和所述测试参数,生成json格式的第一数据,具体为:根据所述接口参数和所述测试参数,生成协议文件;使用协议解析工具,将所述协议文件转换为json格式的所述第一数据。3.如权利要求1所述的适用于微服务的接口测试方法,其特征在于,所述根据所述第一数据,向微服务接口发送请求并接收所述微服务接口的请求结果,具体为:根据所述微服务接口对应的编码协议规则,将所述第一数据转换为目标格式的请求数据;根据目标微服务的通信协议,将所述请求数据发送至所述微服务接口,并接收所述微服务接口返还的目标格式的所述请求结果;所述目标微服务为所述微服务接口对应的微服务。4.如权利要求3所述的适用于微服务的接口测试方法,其特征在于,所述编码协议规则为protobuf协议规则。5.如权利要求3所述的适用于微服务的接口测试方法,其特征在于,所述将所述请求结果转换至json格式的第二数据后进行返还,具体为:在对目标格式的所述请求结果进行解码后,将解码后的所述请求结果转换至json格式的所述第二数据,并将所述第二数据进行返还。6.如权利要求1-5任意一项所述的适用于微服务的接口测试方法,其特征在于,所述微服务接口包括一个或若干个微服务api接口。7.一种适用于微服务的接口测试装置,其特征在于,包括:数据生成模块、接口测试模块和结果显示模块;其中,所述数据生成模块用于自定义设置接口参数和测试参数,根据所述接口参数和所述测试参数,生成json格式的第一数据;所述接口测试模块用于发送所述第一数据至测试服务器,以使所述测试服务器根据所述第一数据,向微服务接口发送请求并接收所述微服务接口的请求结果,将所述请求结果转换至json格式的第二数据后进行返还;所述结果显示模块用于接收并显示所述测试服务器返还的所述第二数据。8.如权利要求7所述的适用于微服务的接口测试装置,其特征在于,所述数据生成模块包括:文件生成单元、第一格式转换单元;其中,所述文件生成单元用于根据所述接口参数和所述测试参数,生成协议文件;所述第一格式转换单元用于使用协议解析工具,将所述协议文件转换为json格式的所述第一数据。
9.如权利要求7所述的适用于微服务的接口测试装置,其特征在于,所述接口测试模块包括:第二格式转换单元、接口测试单元;其中,所述第二格式转换单元用于根据所述微服务接口对应的编码协议规则,将所述第一数据转换为目标格式的第二数据;所述接口测试单元用于根据目标微服务的通信协议,将所述第二数据发送至所述微服务接口,并接收所述微服务接口返还的目标格式的所述请求结果;所述目标微服务为所述微服务接口对应的微服务。10.一种适用于微服务的接口测试系统,其特征在于,包括:测试端、测试服务器和接口服务器;其中,所述测试端用于执行如权利要求1-6任意一项所述的适用于微服务的接口测试方法;所述测试服务器用于在接收所述测试端发送的json格式的第一数据后,将所述第一数据转换至目标格式的请求数据,并将所述请求数据发送至所述接口服务器;以及用于在接收所述接口服务器返回的请求结果后,将请求结果转换为json格式的第二数据,并将所述第二数据返还至所述测试端;所述接口服务器用于接收所述请求数据,并返还所述请求结果至所述测试服务器。
技术总结
本发明公开了一种适用于微服务的接口测试方法、装置及系统,该方法包括:自定义设置接口参数和测试参数,根据接口参数和所述测试参数,生成json格式的第一数据;发送第一数据至测试服务器,以使测试服务器根据所述第一数据,向微服务接口发送请求并接收微服务接口的请求结果,将请求结果转换至json格式的第二数据后进行返还;接收并显示测试服务器返还的所述第二数据。采用本发明实施例,可以实现对微服务中各个服务之间的接口进行测试,以及对边界条件下能否处理请求数据进行测试;采用json编码协议生成第一数据,便于测试人员编写API接口数据,结合回显的json格式的第二数据,简化了对服务之间的接口调用返回结果的检测。化了对服务之间的接口调用返回结果的检测。化了对服务之间的接口调用返回结果的检测。
技术研发人员:舒伟 郭曼丽 姚刘铃
受保护的技术使用者:广州仰望星空云科技有限公司
技术研发日:2022.12.09
技术公布日:2023/7/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
