微服务接口测试方法、计算机设备及计算机存储介质与流程

文档序号:30979243发布日期:2022-08-03 00:12阅读:79来源:国知局
微服务接口测试方法、计算机设备及计算机存储介质与流程

1.本技术实施例涉及应用开发领域,具体涉及一种微服务接口测试方法、计算机设备及计算机存储介质。


背景技术:

2.新的微服务接口被开发出来,或者已有的微服务接口经过改动和更新时,均需要对微服务接口进行测试。用来测试微服务接口的测试脚本由开发人员编写,而使用测试脚本对微服务接口进行测试的工作可由开发人员完成,或者由测试人员在开发人员的指导下完成。
3.测试脚本封装了测试参数,该测试参数作为微服务接口运行的依据,即微服务接口根据该测试参数运行并输出运行结果。当微服务接口的测试参数需要更改时,便需要对已封装了该测试参数的测试脚本进行更改,而测试脚本的更改需要依赖开发人员完成,这给开发人员带来一定的工作负担,同时测试人员也需要等待开发人员完成测试脚本的更改才能使用更改后的测试脚本去测试微服务接口,这也给测试人员的测试工作带来不便,影响微服务接口的测试进度。


技术实现要素:

4.本技术实施例提供了一种微服务接口测试方法、计算机设备及计算机存储介质,用于提升微服务接口的测试效率并减少开发人员的工作负担。
5.本技术实施例第一方面提供了一种微服务接口测试方法,所述方法包括:
6.当监听到对目标微服务接口的测试触发操作时,获取所述目标微服务接口的测试参数;
7.将所述测试参数发送至所述目标微服务接口,以使得所述目标微服务接口根据所述测试参数运行并返回运行结果;
8.输出所述运行结果,所述运行结果用于确定所述目标微服务接口的测试结果。
9.本技术实施例第二方面提供了一种计算机设备,所述计算机设备包括:
10.获取单元,用于当监听到对目标微服务接口的测试触发操作时,获取所述目标微服务接口的测试参数;
11.测试单元,用于将所述测试参数发送至所述目标微服务接口,以使得所述目标微服务接口根据所述测试参数运行并返回运行结果;
12.输出单元,用于输出所述运行结果,所述运行结果用于确定所述目标微服务接口的测试结果。
13.本技术实施例第三方面提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现前述第一方面的方法。
14.本技术实施例第四方面提供了一种计算机存储介质,计算机存储介质中存储有指令,该指令在计算机上执行时,使得计算机执行前述第一方面的方法。
15.本技术实施例第五方面提供了一种计算机程序产品,所述计算机程序产品在计算机设备上运行时,使得所述计算机设备执行前述第一方面的方法。
16.从以上技术方案可以看出,本技术实施例具有以下优点:
17.计算机设备在监听到对目标微服务接口的测试触发操作时,获取该目标微服务接口的测试参数,将该测试参数发送给目标微服务接口,目标微服务接口将根据该测试参数运行并返回运行结果,运行结果可用于确定目标微服务接口是否测试通过。由于计算机设备可单独获取微服务接口的测试参数,因此,即使测试参数需要更改,也可以单独将更改后的测试参数传给计算机设备,计算机设备可直接根据更改后的测试参数对微服务接口进行测试,无需更改测试脚本,测试人员无需等待测试脚本完成更改再去测试微服务接口,直接输入更改后的测试参数即可,从而提升微服务接口的测试效率,也可减少开发人员的工作负担。
附图说明
18.图1为本技术实施例中微服务接口测试方法一个流程示意图;
19.图2为本技术实施例中微服务接口测试方法另一流程示意图;
20.图3为本技术实施例中可视化页面一种显示效果示意图;
21.图4为本技术实施例中计算机设备根据脚本引擎响应微服务接口的点击事件和测试数据的一种效果示意图;
22.图5为本技术实施例中计算机设备根据脚本引擎响应微服务接口的点击事件和测试数据的另一效果示意图;
23.图6为相关技术方案中计算机设备根据各脚本引擎响应各微服务接口的点击事件和测试数据的一种效果示意图;
24.图7为本技术实施例中计算机设备一个结构示意图;
25.图8为本技术实施例中计算机设备另一结构示意图。
具体实施方式
26.本技术实施例提供了一种微服务接口测试方法、计算机设备及计算机存储介质,用于提升微服务接口的测试效率并减少开发人员的工作负担。
27.请参阅图1,本技术实施例中微服务接口测试方法一个实施例包括:
28.101、当监听到对目标微服务接口的测试触发操作时,获取目标微服务接口的测试参数;
29.本实施例的方法可应用于计算机设备,该计算机设备可以终端设备或者服务器设备等设备形式存在,用于为用户提供微服务接口测试服务和功能。当计算机设备为终端时,可以是个人电脑(personal computer,pc)、台式计算机等终端设备;当计算机设备为服务器时,可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云数据库、云计算以及大数据和人工智能平台等基础云计算服务的云服务器。
30.计算机设备可装载至少一个微服务接口,并持续监听用户对其中一个或多个微服务接口的测试触发操作,测试触发操作即触发微服务接口进行测试的操作。当监听到对目
标微服务接口的测试触发操作时,计算机设备获取该目标微服务接口的测试参数,测试参数用于作为目标微服务接口运行的依据,即目标微服务接口根据该测试参数进行运行。
31.102、将测试参数发送至目标微服务接口,以使得目标微服务接口根据测试参数运行并返回运行结果;
32.本实施例中,可驱动微服务接口运行并确定微服务接口的运行结果是否符合预期要求,以此达到对目标微服务接口进行测试的目的。因此,可将测试参数发送至目标微服务接口,从而目标微服务接口根据测试参数运行并返回运行结果,进一步根据运行结果确定目标微服务接口的运行是否符合预期要求。
33.103、输出运行结果,运行结果用于确定目标微服务接口的测试结果;
34.在获得目标微服务接口的运行结果之后,输出该运行结果,以便人员根据该运行结果确定目标微服务接口的测试结果。
35.计算机设备在监听到对目标微服务接口的测试触发操作时,获取该目标微服务接口的测试参数,将该测试参数发送给目标微服务接口,目标微服务接口将根据该测试参数运行并返回运行结果,运行结果可用于确定目标微服务接口是否测试通过。由于计算机设备可单独获取微服务接口的测试参数,因此,即使测试参数需要更改,也可以单独将更改后的测试参数传给计算机设备,计算机设备可直接根据更改后的测试参数对微服务接口进行测试,无需更改测试脚本,测试人员无需等待测试脚本完成更改再去测试微服务接口,直接输入更改后的测试参数即可,从而提升微服务接口的测试效率,也可减少开发人员的工作负担。
36.下面将在前述图1所示实施例的基础上,进一步详细地描述本技术实施例。请参阅图2,本技术实施例中微服务接口测试方法另一实施例包括:
37.201、获取并解析测试脚本,根据测试脚本对微服务接口的测试逻辑监听对微服务接口的测试触发操作;
38.本实施例的方法可基于测试脚本对微服务接口的测试逻辑而执行,即测试脚本通过代码预设了对微服务接口的测试过程的操作步骤,计算机设备可根据此测试脚本的指示执行微服务接口的测试操作。因此,计算机设备获取并解析测试脚本,根据测试脚本对微服务接口的测试逻辑监听对微服务接口的测试触发操作,当监听到对目标微服务接口的测试触发操作时,执行后续的步骤202至204,完成对微服务接口的测试。
39.与相关技术方案不同,本实施例中测试脚本并不需要预先封装测试参数,而是只通过代码表示微服务接口的测试步骤,测试参数可由用户根据实际的测试需求进行变更并输入至计算机设备,计算机设备将根据测试脚本表示的测试步骤以及用户输入的测试参数对微服务接口执行测试。因此,在测试参数变更时,本实施例并不需要对测试脚本进行更改,相比于测试脚本封装测试参数且测试脚本需要随着测试参数的更改而更改的相关技术方案而言,可减少开发人员对测试脚本的更改操作,进而减少开发人员的工作负担,同时测试人员也无需等待测试脚本完成更改再去测试微服务接口,从而提升微服务接口的测试效率。
40.其中,计算机设备可装载脚本引擎,并通过脚本引擎解析测试脚本,在脚本引擎中运行测试脚本对微服务接口的测试逻辑。例如,该脚本引擎可以是rhino,rhino是一个开源的脚本引擎框架,可以运行类似javascript语法的测试脚本,可以调用java的方法,并可嵌
入java代码执行,因此,rhino作为计算机编程语言的解释器,可解释执行用户开发的测试脚本,将测试脚本译成计算机设备能执行的机器代码。
41.202、当监听到对目标微服务接口的测试触发操作时,获取目标微服务接口的测试参数;
42.本实施例一种实施方式中,计算机设备可通过可视化页面接收用户对微服务接口的测试触发操作,即计算机设备显示可视化页面,并在可视化页面显示每一个微服务接口关联的测试触发按钮以及测试数据输入区,该测试数据输入区可提供用户输入测试数据的输入区域,当监听到用户对目标微服务接口对应的测试触发按钮的点击操作时,获取用户在测试数据输入区输入的测试数据,根据测试数据获取测试参数,并确定该测试参数为目标微服务接口的测试参数。
43.由于测试脚本集成了至少一个微服务接口的测试逻辑,因此,当监听到对微服务接口对应的测试触发按钮的点击操作时,计算机设备需确定出测试脚本对应的至少一个微服务接口中该点击操作所触发的目标微服务接口,并将该点击操作识别为对确定出的目标微服务接口的测试请求,并响应该测试请求执行对目标微服务接口的测试操作。
44.图3示出了可视化页面一种显示效果示意图,如图3所示,该可视化页面中的测试数据输入区包括多个提示字段以及每个提示字段对应的输入框,该提示字段用于提示微服务接口运行所使用的测试参数,如“businesskey”这一提示字段及其下面用于输入对应测试数据的横线,用户可根据该字段的提示在横线处输入对应的测试数据,如输入对应的测试数据“1111”。而测试数据输入区之下显示多个微服务接口关联的测试触发按钮,如用于查询合同、单据等业务数据是否处于流转过程的微服务接口关联的测试触发按钮,该测试触发按钮显示“是否在流程中”,以向用户提示此按钮关联的微服务接口用于提供业务数据是否处于流转状态的查询服务。同时还显示了“更改任务参与人”、“启动流程”等多个微服务接口关联的测试触发按钮。
45.除此之外,该可视化页面还设置了诸如“taskid”、“userid”等多个提示字段及各自对应的输入框,用户可根据各微服务接口运行所需要用到的测试参数在对应的输入框中输入测试数据。例如,“是否在流程中”这一按钮关联的微服务接口的运行需要使用到businesskey,则用户可在“businesskey”这一提示字段之下的输入框输入测试数据,并点击“是否在流程中”这一按钮,则计算机设备将此点击操作识别为对“是否在流程中”这一按钮关联的微服务接口的测试触发操作,并根据用户的输入执行后续的测试操作。
46.除了上述的通过可视化页面输入对目标微服务接口的测试触发操作之外,还可以通过其他方式输入测试触发操作,例如通过语音输入等方式输入测试触发操作,本实施例对测试触发操作的输入方式不作限定。
47.由于用户输入的测试数据可能不符合微服务接口对测试参数的数据类型的要求,因此需要根据用户输入的测试数据获取测试参数,一种方式是,将测试数据转换为目标数据类型的测试参数,该目标数据类型为目标微服务接口运行所使用的测试参数的数据类型。例如,目标微服务接口运行所使用的测试参数的数据类型为list数组类型,而用户输入的测试数据的数据类型为int整数型或者string字符串型,则需要将用户输入的测试数据转换为list数组类型的测试参数。
48.另一方式是,计算机设备可在缓存中预存各种测试数据对应的目标数据类型的测
试参数,各种测试数据对应的目标数据类型的测试参数可预先根据测试数据进行转换而得,当接收到用户输入的测试数据时,查询缓存中该测试数据对应的目标数据类型的测试参数,并从缓存提取出用户输入的测试数据对应的目标数据类型的测试参数,此方式在接收到用户输入的测试数据后无需去执行测试数据的转换操作,只需直接从缓存中提取,提升测试参数的获取速度,进而提高用户请求的响应效率。
49.203、将测试参数发送至目标微服务接口,以使得目标微服务接口根据测试参数运行并返回运行结果;
50.204、输出运行结果,运行结果用于确定目标微服务接口的测试结果;
51.在获取到测试参数之后,计算机设备将该测试参数传递给调用的目标微服务接口,从而目标微服务接口根据该测试参数运行并返回运行结果。例如,沿用图3所示的例子,用户输入业务单据的businesskey“1111”,并点击“是否在流程中”这一按钮,则计算机设备将此点击操作识别为对“是否在流程中”这一按钮关联的微服务接口的测试触发操作,并将用户输入的businesskey“1111”转换为目标数据类型的测试参数,该目标数据类型为用户触发测试的微服务接口运行所使用的测试参数的数据类型,计算机设备将转换得到的测试参数传递给用户触发测试的微服务接口。用户触发测试的微服务接口将根据此测试参数运行,即查询businesskey为“1111”的业务单据是否处于流转状态,并返回查询结果“false”,此查询结果表示业务单据未处于流转状态。计算机设备可将该查询结果显示在该可视化页面中“response”这一项字段下的横线处,用户可根据此查询结果确定微服务接口的测试结果,若业务单据实际是处于流转状态的,则微服务接口的查询结果错误,表明该微服务接口的运行有误,不可通过测试;若业务单据实际是未处于流转状态的,则微服务接口的查询结果正确,表明该微服务接口的运行正常,可通过测试。
52.需要说明的是,上述例子仅为清楚地描述方案,在实际应用中可能不限于根据一种测试参数对微服务接口进行测试,此处不作限定。
53.为更形象地表示本实施例的方法流程,请进一步参阅图4,如图所示,可视化页面接收用户输入的测试数据以及对目标微服务接口的点击事件,该点击事件即用户对可视化页面中目标微服务接口对应的测试触发按钮的点击操作,计算机设备装载脚本引擎以对测试脚本进行翻译和解析,并在脚本引擎中引入需要用到的java方法类的包名,根据脚本引擎翻译和解析测试脚本而获得的测试操作代码执行对微服务接口的测试操作,即持续监听点击事件,当监听到对目标微服务接口的点击事件时,进行动态传参,即根据用户输入的测试数据获取测试参数,并将测试参数传递给目标微服务接口,目标微服务接口将执行自身的微服务接口逻辑,即根据测试参数运行并返回运行结果,计算机设备处理返回值,即处理返回的运行结果,并将运行结果显示在可视化页面,用户可根据运行结果确定目标微服务接口是否测试通过。
54.在图4所示的方法流程的基础上请进一步参阅图5,如图所示,由于测试脚本集成了至少一个微服务接口的测试逻辑,因此,计算机设备可在脚本引擎对测试脚本的解析下对测试脚本集成的至少一个微服务接口进行测试,并且测试的每一个微服务接口的运行结果均可显示在可视化页面。
55.请进一步参照图5并对比图5所示的方法流程和图6的方法流程,在图6所示的相关技术方案中,需要配置多个可视化页面且每个可视化页面仅对应1个脚本引擎和1个微服务
接口,每个脚本引擎仅解析1个测试脚本,每个测试脚本仅用于测试1个微服务接口,计算机设备需要根据多个可视化页面、多个脚本引擎和多个测试脚本来处理多个微服务接口的测试,可视化页面零散且由于每个测试脚本仅用于测试1个微服务接口,在多个微服务接口移植时需要对多个测试脚本进行分别移植,导致测试脚本的可移植性不高。可见,相比于图6所示的相关技术方案,本实施例的方法并不需要配置多个可视化页面,并可在同一个脚本引擎中同时监听多个微服务接口的点击事件和测试数据,提升了系统的集成度,实现了对微服务接口的系统性集成测试。同时,由于测试脚本集成了多个微服务接口的测试逻辑,因此,在多个微服务接口移植时只需对1个测试脚本进行移植,大大提升了测试脚本的可移植性。
56.上面对本技术实施例中的微服务接口测试方法进行了描述,下面对本技术实施例中的计算机设备进行描述,请参阅图7,本技术实施例中计算机设备一个实施例包括:
57.获取单元701,用于当监听到对目标微服务接口的测试触发操作时,获取所述目标微服务接口的测试参数;
58.测试单元702,用于将所述测试参数发送至所述目标微服务接口,以使得所述目标微服务接口根据所述测试参数运行并返回运行结果;
59.输出单元703,用于输出所述运行结果,所述运行结果用于确定所述目标微服务接口的测试结果。
60.本实施例一种实施方式中,获取单元701具体用于显示可视化页面,并在所述可视化页面显示每一个微服务接口关联的测试触发按钮以及测试数据输入区,当监听到用户对所述目标微服务接口对应的测试触发按钮的点击操作时,获取用户在所述测试数据输入区输入的测试数据,根据所述测试数据获取测试参数,确定所述测试参数为所述目标微服务接口的测试参数。
61.本实施例一种实施方式中,获取单元701具体用于将所述测试数据转换为目标数据类型的测试参数,所述目标数据类型为所述目标微服务接口运行所使用的测试参数的数据类型;或者,查询缓存中所述测试数据对应的所述目标数据类型的测试参数,从所述缓存提取所述目标数据类型的测试参数。
62.本实施例一种实施方式中,所述测试数据输入区包括提示字段以及所述提示字段对应的输入框,所述提示字段用于提示微服务接口运行所使用的测试参数;
63.获取单元701具体用于获取用户在所述提示字段对应的输入框输入的测试数据。
64.本实施例一种实施方式中,获取单元701还用于获取测试脚本,所述测试脚本集成至少一个微服务接口的测试逻辑;
65.测试单元702还用于解析所述测试脚本,根据所述测试脚本对微服务接口的测试逻辑监听对微服务接口的测试触发操作,并在监听到对所述目标微服务接口的测试触发操作时获取所述目标微服务接口的测试参数,将所述测试参数发送至所述目标微服务接口,以使得所述目标微服务接口根据所述测试参数运行并返回运行结果。
66.本实施例一种实施方式中,测试单元702具体用于通过脚本引擎解析所述测试脚本,在所述脚本引擎中运行所述测试脚本对微服务接口的测试逻辑。
67.本实施例一种实施方式中,获取单元701还用于当监听到对微服务接口对应的测试触发按钮的点击操作时,确定所述测试脚本对应的至少一个微服务接口中所述点击操作
点击的目标微服务接口。
68.本实施例中,计算机设备中各单元所执行的操作与前述图1至图2所示实施例中描述的类似,此处不再赘述。
69.本实施例中,获取单元701在监听到对目标微服务接口的测试触发操作时,获取该目标微服务接口的测试参数,测试单元702将该测试参数发送给目标微服务接口,目标微服务接口将根据该测试参数运行并返回运行结果,运行结果可用于确定目标微服务接口是否测试通过。由于计算机设备可单独获取微服务接口的测试参数,因此,即使测试参数需要更改,也可以单独将更改后的测试参数传给计算机设备,计算机设备可直接根据更改后的测试参数对微服务接口进行测试,无需更改测试脚本,测试人员无需等待测试脚本完成更改再去测试微服务接口,直接输入更改后的测试参数即可,从而提升微服务接口的测试效率,也可减少开发人员的工作负担。
70.下面对本技术实施例中的计算机设备进行描述,请参阅图8,本技术实施例中计算机设备一个实施例包括:
71.该计算机设备800可以包括一个或一个以上中央处理器(central processing units,cpu)801和存储器805,该存储器805中存储有一个或一个以上的应用程序或数据。
72.其中,存储器805可以是易失性存储或持久存储。存储在存储器805的程序可以包括一个或一个以上模块,每个模块可以包括对计算机设备中的一系列指令操作。更进一步地,中央处理器801可以设置为与存储器805通信,在计算机设备800上执行存储器805中的一系列指令操作。
73.计算机设备800还可以包括一个或一个以上电源802,一个或一个以上有线或无线网络接口803,一个或一个以上输入输出接口804,和/或,一个或一个以上操作系统,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等。
74.该中央处理器801可以执行前述图1至图2所示实施例中计算机设备所执行的操作,具体此处不再赘述。
75.本技术实施例还提供了一种计算机存储介质,其中一个实施例包括:该计算机存储介质中存储有指令,该指令在计算机上执行时,使得该计算机执行前述图1至图2所示实施例中计算机设备所执行的操作。
76.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
77.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
78.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
79.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
80.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1