接口测试方法、装置、设备及存储介质与流程

未命名 09-22 阅读:75 评论:0


1.本技术涉及测试技术领域,尤其涉及一种接口测试方法、装置、设备及存储介质。


背景技术:

2.目前,对于系统组件间接口的自动化测试,通常是基于swagger文档(用于描述系统组件间接口的请求参数的格式类型)对接口进行解析并生成测试案例,但只有swagger文档,没有具体的请求体(请求参数),需要采用不同方式对为不同接口构造对应的请求体,降低了接口测试的效率。


技术实现要素:

3.本技术的主要目的在于提供一种接口测试方法、装置、设备及存储介质,旨在解决接口测试的效率较低的技术问题。
4.为实现上述目的,本技术提供一种接口测试方法,所述接口测试方法包括以下步骤:
5.获取待测系统对应接口的测试组件,其中,所述测试组件是基于预设接口定义文件以及预设格式转换方法,对所述待测系统对应接口的请求报文进行转换得到的;
6.通过所述测试组件基于预设测试数据,对所述待测系统对应接口进行测试,得到目标测试结果;
7.将所述目标测试结果与预设预期结果进行比对,得到所述待测系统对应接口的断言结果,完成接口测试。
8.在本技术的一种可能的实施方式中,所述预设测试数据包括目标待测业务、入参数据以及结果返回路径,所述通过所述测试组件基于预设测试数据,对所述待测系统对应接口进行测试,得到目标测试结果的步骤,包括:
9.通过所述测试组件基于所述目标待测业务对应的入参数据,对所述待测系统对应接口的访问参数进行替换;
10.基于所述替换访问参数后的接口,执行所述目标待测业务,并通过所述结果返回路径,提取所述目标待测业务对应的目标测试结果。
11.在本技术的一种可能的实施方式中,所述基于所述替换访问参数后的接口,执行所述目标待测业务的步骤之前,所述方法还包括:
12.判断预设数据库信息中是否存在与所述目标待测业务对应的sql语句;
13.若存在,则与对应数据库建立连接,直至接口测试结束。
14.在本技术的一种可能的实施方式中,所述基于所述替换访问参数后的接口,执行所述目标待测业务,并通过所述结果返回路径,提取所述目标待测业务对应的目标测试结果的步骤,包括:
15.基于所述替换访问参数后的接口,与所述目标待测业务对应的sql语句和对应数据库,执行所述目标待测业务,并通过所述结果返回路径,提取所述目标待测业务对应的目
标测试结果。
16.在本技术的一种可能的实施方式中,所述预设预期结果包括第一预期结果,所述第一预期结果是基于预设接口、所述预设测试数据和预设数据库信息中的sql语句,执行所述目标待测业务得到的;
17.所述通过所述结果返回路径,提取所述目标待测业务对应的目标测试结果的步骤之后,所述方法还包括:
18.将所述目标测试结果与所述第一预期结果进行比对,得到所述待测系统对应接口的断言结果。
19.在本技术的一种可能的实施方式中,所述入参数据包括预设路径和入参值,所述预设测试数据还包括入参数据对应的替换模式,所述基于所述目标待测业务对应的入参数据,对所述待测系统对应接口的访问参数进行替换的步骤,包括:
20.基于所述预设路径,定位所述接口内待替换参数的目标节点;
21.基于所述入参值以及所述替换模式,对应替换所述目标节点的访问参数。
22.在本技术的一种可能的实施方式中,所述预设测试数据还包括预设结果比对模式,所述将所述目标测试结果与预设预期结果进行比对,得到所述待测系统对应接口的断言结果的步骤,包括:
23.基于所述目标待测任务的类型,确定预设结果比对模式;
24.基于所述预设结果比对模式,对所述目标测试结果与预设预期结果中的相关内容进行比对,得到所述待测系统对应接口的断言结果。
25.本技术还提供一种接口测试装置,所述装置包括:
26.测试组件获取模块,用于获取待测系统对应接口的测试组件,其中,所述测试组件是基于预设接口定义文件以及预设格式转换方法,对所述待测系统对应接口的请求报文进行转换得到的;
27.接口测试模块,用于通过所述测试组件基于预设测试数据,对所述待测系统对应接口进行测试,得到目标测试结果;
28.结果比对模块,用于将所述目标测试结果与预设预期结果进行比对,得到所述待测系统对应接口的断言结果,完成接口测试。
29.本技术还提供一种接口测试设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的接口测试程序,所述接口测试程序配置为实现如上述任一项所述的接口测试方法的步骤。
30.本技术还提供一种存储介质,所述存储介质上存储有接口测试程序,所述接口测试程序被处理器执行时实现如上述任一项所述的接口测试方法的步骤。
31.本技术提供一种接口测试方法,相较于现有技术,本技术通过获取待测系统对应接口的测试组件,由于所述测试组件是基于预设接口定义文件以及预设格式转换方法,对所述待测系统对应接口的请求报文进行转换得到的,也就是说,在接口测试时,测试工程师只需要有预设接口定义文件,即可基于预设接口定义文件以及预设格式转换方法,对所述待测系统对应接口的请求报文进行转换得到测试组件。无需基于swagger文档进行请求体构造。减少了请求报文的封装时间,只需要通过所述测试组件基于预设测试数据,对所述待测系统对应接口进行测试,即可得到目标测试结果;将所述目标测试结果与预设预期结果
进行比对,得到所述待测系统对应接口的断言结果,完成接口测试。也就是说,测试工程师只需要给出预设接口定义文件、预设格式转换方法和预设测试数据,即可完成接口的测试。提高了接口的测试效率。
附图说明
32.图1为本技术一种接口测试方法的第一实施例的流程示意图;
33.图2为本技术第一实施例的接口测试方法的逻辑架构图;
34.图3是本技术实施例方案涉及的硬件运行环境的接口测试设备的结构示意图;
35.图4为本技术第一实施例的接口测试装置示意图。
36.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
37.应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。尽管在本文可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本文范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。
38.本技术实施例提供了一种接口测试方法,参照图1和图2,在本实施例中,所述接口测试方法包括:
39.步骤s10:获取待测系统对应接口的测试组件,其中,所述测试组件是基于预设接口定义文件以及预设格式转换方法,对所述待测系统对应接口的请求报文进行转换得到的;
40.步骤s20:通过所述测试组件基于预设测试数据,对所述待测系统对应接口进行测试,得到目标测试结果;
41.步骤s30:将所述目标测试结果与预设预期结果进行比对,得到所述待测系统对应接口的断言结果,完成接口测试,其中,所述预设预期结果与所述预设测试数据相对应。
42.作为一种示例,所述接口测试方法应用于接口测试装置,所述接口测试装置从属于接口测试系统。
43.作为一种示例,接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。目前,对于接口测试,通常是基于swagger文档对接口进行解析并生成测试案例,但只有swagger文档,没有具体的请求体(请求参数),需要采用不同方式对为不同接口构造对应的请求体,降低了接口测试的效率。
44.本实施例旨在:通过基于预设接口定义文件以及预设格式转换方法,对所述待测系统对应接口的请求报文进行转换得到的测试组件基于预设测试数据,对所述待测系统对应接口进行测试,减少测试时请求报文的封装时间,提高接口测试的效率。
45.具体包括以下步骤:
46.步骤s10:获取待测系统对应接口的测试组件,其中,所述测试组件是基于预设接口定义文件以及预设格式转换方法,对所述待测系统对应接口的请求报文进行转换得到的;
47.作为一种示例,预设接口定义文件为各接口请求报文的格式规范。具体地,请求报文的格式规范包括请求报文的请求行、请求头和请求体的格式规范。
48.具体地,请求行的格式规范包括请求方法字段(例如,get和post方法等)、url(uniform resource locator,统一资源定位)字段和http(hyper text transfer protocol,超文本传输协议(请求-响应协议))协议版本字段。
49.作为一种示例,请求体是将一个请求参数通过键值对形式编码成一个格式化串,并通过该格式化串传递请求参数。
50.作为一种示例,预设格式转换方法是指对请求报文的格式转换方法。
51.作为一种示例,不同接口对应请求报文的格式不同,例如,web service接口,请求报文和返回报文都是xml格式;http api接口,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串。
52.因此,需要基于预设接口定义文件,对请求报文的格式进行转换,得到只需要通过参数替换即可进行接口测试的测试组件。也就是说,对测试组件的运行逻辑与对转换前的请求报文的响应逻辑相同,但报文参数可以替换。且,本实施例无需单独将报文参数构建成报文体,报文体的结构是对请求报文的格式进行转换的过程中转换好的,测试工程师在使用测试组件时,只需要输入报文参数即可。
53.具体地,所述待测系统对应接口的请求报文是通过抓包工具对待测系统对应接口进行抓取得到的。
54.步骤s20:通过所述测试组件基于预设测试数据,对所述待测系统对应接口进行测试,得到目标测试结果;
55.作为一种示例,所述预设测试数据还包括待测系统的登陆信息,在测试开始时,自动基于所述登陆信息进行登陆。
56.作为一种示例,预设测试数据包括报文参数(入参数据,用于替换待测系统对应接口的访问参数)。
57.作为一种示例,通过所述测试组件基于预设测试数据,对所述待测系统对应接口进行测试,即可得到目标测试结果。
58.在本实施例中,所述预设测试数据还包括目标待测业务以及结果返回路径。
59.作为一种示例,目标待测业务包括,1、接口的正确性测试(接口是否能够识别请求的内容,并以正确的方式处理请求;接口是否能够按预期生成结果;接口是否能够正确的把结果传递给调用者等)。2、接口的可靠性测试(接口是否能够在高流量环境下正常工作;接口是否能够在异常状态下正常工作,例如断网,系统故障等)。3、接口的功能测试(接口是否能够实现预期的功能;接口是否支持预期的数据格式和数据类型;接口对输入和输出的处理是否满足业务逻辑)等。通过正确性测试和可靠性测试能够初步且快速地判断接口是否出现异常。通过性能测试可以找出接口的瓶颈,并及时优化,提高系统的性能。
60.作为一种示例,结果返回路径是测试工程师基于不同目标测试业务确定的,具体地,不同目标测试业务需要比对的结果不同,因此,接口返回结果的节点和路径有所不同。
61.在本实施例中,所述通过所述测试组件基于预设测试数据,对所述待测系统对应接口进行测试,得到目标测试结果的步骤,包括:
62.步骤a1:通过所述测试组件基于所述目标待测业务对应的入参数据,对所述待测
系统对应接口的访问参数进行替换;
63.作为一种示例,不同目标待测业务对应的入参数据不同,将所述待测系统对应接口的访问参数自动替换为对应的入参数据,替换访问参数后的接口在执行业务时的访问参数不同,基于替换后的访问参数,对所述接口进行访问,达到接口测试的目的。
64.在本实施例中,所述入参数据包括预设路径和入参值,即,相当于key-value的键值对,通过所述预设路径能够定位到代替换参数所在节点,将该节点所对应访问参数替换为所述入参值,即可完成接口的访问参数的替换。
65.在本实施例中,所述基于所述目标待测业务对应的入参数据,对所述待测系统对应接口的访问参数进行替换的步骤,包括:
66.步骤b1:基于所述预设路径,定位所述接口内待替换参数的目标节点;
67.作为一种示例,基于所述预设路径,定位所述接口内待替换参数的目标节点,所述目标节点可以是一个或多个节点。
68.步骤b2:基于所述入参值以及所述替换模式,对应替换所述目标节点的访问参数。
69.在本实施例中,所述预设测试数据还包括入参数据对应的替换模式。
70.作为一种示例,替换模式可以是字段修改、设置为空、字段增加等模式。具体地,不同目标测试业务对应的入参数据的修改模式不同。
71.作为一种示例,定位到所述接口内待替换参数的目标节点后,将所述目标节点的访问参数替换为所述入参数据的过程,可以是将所述目标节点的访问参数修改为所述入参数据、或者将所述目标节点的访问参数删除、或者在目标节点的基础上增加一个子节点,并为子节点配置所述入参值等。无需测试工程师基于不同接口构造不同的请求报文。
72.步骤a2:基于所述替换后的访问参数,对所述接口进行访问,并通过所述结果返回路径,提取所述目标待测业务对应的目标测试结果。
73.作为一种示例,将所述目标节点的访问参数替换为所述入参数据后,相当于待测系统对应接口响应于新的请求报文,即,基于入参数据驱动的方式组装案例(由于不同入参数据的替换模式都是确定的,能够实现案例的入参数据驱动)。即,实现自动组包。待测系统对应接口基于所述经过替换后的访问参数进行响应,以达到对接口测试的目的。例如,将原始的访问参数“数据展示形式:直方图”修改为“数据展示形式:折线图”,待测系统对应接口基于所述经过替换后的访问参数进行响应,即可得到目标测试结果(即,实际结果)。
74.作为一种示例,基于预先设定的所述结果返回路径,自动提取所述目标待测业务对应的目标测试结果。具体地,结果返回路径可以是基于目标测试业务确定的。且,还可以同时返回结果返回路径中的计数值、随机项、最大项、最小项等。
75.步骤s30:将所述目标测试结果与预设预期结果进行比对,得到所述待测系统对应接口的断言结果,完成接口测试。
76.作为一种示例,预设预期结果可以是测试工程师预先设定的参考结果。
77.作为一种示例,将所述目标测试结果与预设预期结果进行比对,得到所述待测系统对应接口的断言结果,完成接口测试,即,实现自动拆包的过程。例如,待测系统对应接口基于所述经过替换后的访问参数进行响应,得到的目标测试结果为折线图,且预设预期结果也是折线图,则断言结果为在ture,即目标测试结果与预设预期结果相同。
78.在本实施例中,获取待测系统对应接口的测试组件,由于所述测试组件是基于预
设接口定义文件以及预设格式转换方法,对所述待测系统对应接口的请求报文进行转换得到的,也就是说,在接口测试时,测试工程师只需要有预设接口定义文件,即可基于预设接口定义文件以及预设格式转换方法,对所述待测系统对应接口的请求报文进行转换得到测试组件。无需基于swagger文档进行请求体构造。减少了请求报文的封装时间,只需要通过所述测试组件基于预设测试数据,对所述待测系统对应接口进行测试,即可得到目标测试结果;将所述目标测试结果与预设预期结果进行比对,得到所述待测系统对应接口的断言结果,完成接口测试。也就是说,测试工程师只需要给出预设接口定义文件、预设格式转换方法和预设测试数据,即可完成接口的测试。提高了接口的测试效率。
79.进一步地,基于本技术中第一实施例,提供本技术的另一实施例,在该实施例中,所述预设预期结果包括第一预期结果,所述基于所述替换访问参数后的接口,执行所述目标待测业务的步骤之前,所述方法还包括:
80.步骤s40:判断所述目标测试业务是否存在对应的预设数据库信息;
81.作为一种示例,若目标测试业务为接口的业务执行逻辑,则在对这类业务的测试结果进行判断时,不仅需要对最终的结果进行判断,还需要对业务执行过程进行判断。因此,测试工程师可以提供与所述目标待测业务对应的预设数据库信息。
82.作为一种示例,预设数据库信息包括执行目标测试业务时需要用到的数据库,以及对应的sql(structured query language,结构化查询语言)语句,以供待测系统对应接口基于所述预设数据库信息中的sql语句访问对应数据库。
83.步骤s50:若存在,则通过所述预设数据库信息中的sql语句访问对应数据库获取得到第一预期结果,其中,所述数据库是在通过所述测试组件基于预设测试数据,对所述待测系统对应接口进行测试的过程中基于预设数据库信息建立连接的。
84.作为一种示例,所述数据库是在通过所述测试组件基于预设测试数据,对所述待测系统对应接口进行测试的过程中基于预设数据库信息建立连接的具体地,若存在预设数据库信息,则认为执行目标测试业务过程中需要访问数据库,因此自动与对应数据库建立连接,直至接口测试结束。以确保不同的目标测试业务对于同一个数据库不会反复建立连接,能提升测试效率。通过连接池(存储有已建立连接的数据库信息)保障对于多个目标测试业务对应多个数据库时能重复切换已建立的连接进行复用。
85.在本实施例中,所述预设预期结果包括第一预期结果,所述第一预期结果通过所述预设数据库信息中的sql语句访问对应数据库获取得到。所述预设预期结果还包括第二预期结果,所述第二预期结果是测试工程师预先设定的参考结果。
86.在本实施例中,所述通过sql语句访问对应数据库获取得到第一预期结果的步骤,包括:
87.步骤c1:基于所述目标待测业务对应的sql语句,识别并访问对应的数据库,以自动执行所述sql语句并以列表嵌套字典的形式提取所述第一预期结果。
88.作为一种示例,在接口测试过程中,接口的所述访问参数经过替换后,将自动基于所述目标待测业务对应的sql语句识别并访问对应的数据库,从而自动执行所述sql语句并以列表嵌套字典的形式提取所述第一预期结果。其中,所述数据库处于连接状态。
89.具体地,以列表嵌套字典(字符串作为key,字典作为value)的形式提取的所述第一预期结果与所述待测系统对应接口的数据结构(key-value)相对应。
90.在本实施例中,所述预设预期结果还包括第二预期结果,所述将所述目标测试结果与预设预期结果进行比对,得到所述待测系统对应接口的断言结果的步骤之后,所述方法还包括:
91.步骤s60:判断所述目标测试业务是否存在对应的预设数据库信息;
92.步骤s70:若存在,则将所述目标测试结果与所述第一预期结果进行比对,得到所述待测系统对应接口的断言结果;
93.步骤s80:若不存在,则将所述目标测试结果与所述第二预期结果进行比对,得到所述待测系统对应接口的断言结果。
94.在本实施例中,所述第二预期结果是测试工程师预先设定的参考结果。
95.作为一种示例,对接口的业务执行逻辑的测试,需要得到业务执行过程中各节点的执行逻辑,而不只是一个计算结果。对接口的结果返回的准确性的测试,则只需要一个计算结果。因此,在将所述目标测试结果与预设预期结果进行比对,得到所述待测系统对应接口的断言结果时,需要先判断所述目标测试业务是否存在对应的预设数据库信息,若存在,则将所述目标测试结果与所述第一预期结果进行比对,得到所述待测系统对应接口的断言结果;若不存在,则将所述目标测试结果与所述第二预期结果进行比对,得到所述待测系统对应接口的断言结果。从而针对性地对不同目标测试业务进行结果比对,提高测试的准确性。
96.在本实施例中,所述预设测试数据还包括预设结果比对模式,所述将所述目标测试结果与预设预期结果进行比对,得到所述待测系统对应接口的断言结果的步骤,包括:
97.步骤d1:基于所述目标待测任务的类型,确定预设结果比对模式;
98.作为一种示例,目标待测任务的类型包括结果测试(准确性测试和可靠性测试),以及性能测试(业务执行逻辑测试)。具体地,结果测试对于排列顺序要求较低,对字段大小写格式或者可读性等要求较高,性能测试对于逻辑顺序、字段大小写格式、可读性等要求较低,因此,不同的目标待测任务的结果比对重点不同,即,预设结果比对模式不同。
99.步骤d2:基于所述预设结果比对模式,对所述目标测试结果与预设预期结果中的相关内容进行比对,得到所述待测系统对应接口的断言结果。
100.作为一种示例,基于所述预设结果比对模式,提取所述目标测试结果中重点字段,将所述重点字段与所述第一预期结果中的相应字段进行比对,从而提高结果的比对效率。
101.在本实施例中,通过判断预设数据库信息中是否存在与所述目标待测业务对应的sql语句;若存在,则与对应数据库建立连接,直至接口测试结束。确保不同的目标测试业务对于同一个数据库不会反复建立连接,能提升测试效率。通过连接池(存储有已建立连接的数据库信息)保障对于多个目标测试业务对应多个数据库时能重复切换已建立的连接进行复用。
102.参照图3,图3是本技术实施例方案涉及的硬件运行环境的设备结构示意图。
103.如图3所示,该接口测试设备可以包括:处理器1001,存储器1005,通信总线1002。通信总线1002用于实现处理器1001和存储器1005之间的连接通信。
104.可选地,该接口测试设备还可以包括用户接口、网络接口、摄像头、rf(radio frequency,射频)电路,传感器、wifi模块等等。用户接口可以包括显示屏(display)、输入子模块比如键盘(keyboard),可选用户接口还可以包括标准的有线接口、无线接口。网络接
口可以包括标准的有线接口、无线接口(如wi-fi接口)。
105.本领域技术人员可以理解,图3中示出的接口测试设备结构并不构成对接口测试设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
106.如图3所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块以及接口测试程序。操作系统是管理和控制接口测试设备硬件和软件资源的程序,支持接口测试程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与接口测试系统中其它硬件和软件之间通信。
107.在图3所示的接口测试设备中,处理器1001用于执行存储器1005中存储的接口测试程序,实现上述任一项所述的接口测试方法的步骤。
108.本技术接口测试设备具体实施方式与上述接口测试方法各实施例基本相同,在此不再赘述。
109.本技术还提供一种接口测试装置,如图4所示,所述装置包括:
110.测试组件获取模块10,用于获取待测系统对应接口的测试组件,其中,所述测试组件是基于预设接口定义文件以及预设格式转换方法,对所述待测系统对应接口的请求报文进行转换得到的;
111.接口测试模块20,用于通过所述测试组件基于预设测试数据,对所述待测系统对应接口进行测试,得到目标测试结果;
112.结果比对模块30,用于将所述目标测试结果与预设预期结果进行比对,得到所述待测系统对应接口的断言结果,完成接口测试。
113.可选地,在本技术的一种可能的实施方式中,所述预设测试数据包括目标待测业务、入参数据以及结果返回路径,所述接口测试模块20包括:
114.参数替换子模块,用于通过所述测试组件基于所述目标待测业务对应的入参数据,对所述待测系统对应接口的访问参数进行替换;
115.结果返回子模块,用于基于所述替换访问参数后的接口,执行所述目标待测业务,并通过所述结果返回路径,提取所述目标待测业务对应的目标测试结果。
116.可选地,在本技术的一种可能的实施方式中,所述基于所述替换访问参数后的接口,执行所述目标待测业务的步骤之前,所述装置还包括:
117.信息判断模块,用于判断预设数据库信息中是否存在与所述目标待测业务对应的sql语句;
118.数据库连接模块,用于若存在,则与对应数据库建立连接,直至接口测试结束。
119.可选地,在本技术的一种可能的实施方式中,所述结果返回子模块包括:
120.业务执行单元,用于基于所述替换访问参数后的接口,与所述目标待测业务对应的sql语句和对应数据库,执行所述目标待测业务,并通过所述结果返回路径,提取所述目标待测业务对应的目标测试结果。
121.可选地,在本技术的一种可能的实施方式中,所述预设预期结果包括第一预期结果,所述第一预期结果是基于预设接口、所述预设测试数据和预设数据库信息中的sql语句,执行所述目标待测业务得到的;所述通过所述结果返回路径,提取所述目标待测业务对应的目标测试结果的步骤之后,所述装置还包括:
122.结果断言模块,用于将所述目标测试结果与所述第一预期结果进行比对,得到所述待测系统对应接口的断言结果。
123.可选地,在本技术的一种可能的实施方式中,所述入参数据包括预设路径和入参值,所述预设测试数据还包括入参数据对应的替换模式,所述参数替换子模块包括:
124.节点定位单元,用于基于所述预设路径,定位所述接口内待替换参数的目标节点;
125.参数替换单元,用于基于所述入参值以及所述替换模式,对应替换所述目标节点的访问参数。
126.可选地,在本技术的一种可能的实施方式中,所述预设测试数据还包括预设结果比对模式,所述结果比对模块30包括:
127.模式确定子模块,用于基于所述目标待测任务的类型,确定预设结果比对模式;
128.结果比对子模块,用于基于所述预设结果比对模式,对所述目标测试结果与预设预期结果中的相关内容进行比对,得到所述待测系统对应接口的断言结果。
129.本技术接口测试装置的具体实施方式与上述接口测试方法各实施例基本相同,在此不再赘述。
130.本技术还提供一种存储介质,所述存储介质上存储有接口测试程序,所述接口测试程序被处理器执行时实现如上述任一项所述的接口测试方法的步骤。
131.本技术存储介质具体实施方式与上述接口测试方法各实施例基本相同,在此不再赘述。
132.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
133.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
134.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
135.以上仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。

技术特征:
1.一种接口测试方法,其特征在于,所述接口测试方法,包括以下步骤:获取待测系统对应接口的测试组件,其中,所述测试组件是基于预设接口定义文件以及预设格式转换方法,对所述待测系统对应接口的请求报文进行转换得到的;通过所述测试组件基于预设测试数据,对所述待测系统对应接口进行测试,得到目标测试结果;将所述目标测试结果与预设预期结果进行比对,得到所述待测系统对应接口的断言结果,完成接口测试,其中,所述预设预期结果与所述预设测试数据相对应。2.如权利要求1所述的接口测试方法,其特征在于,所述预设测试数据包括目标待测业务、入参数据以及结果返回路径,所述通过所述测试组件基于预设测试数据,对所述待测系统对应接口进行测试,得到目标测试结果的步骤,包括:通过所述测试组件基于所述目标待测业务对应的入参数据,对所述待测系统对应接口的访问参数进行替换;基于所述替换后的访问参数,对所述接口进行访问,并通过所述结果返回路径,提取所述目标待测业务对应的目标测试结果。3.如权利要求2所述的接口测试方法,其特征在于,所述预设预期结果包括第一预期结果,所述将所述目标测试结果与预设预期结果进行比对,得到所述待测系统对应接口的断言结果的步骤之前,所述方法还包括:判断所述目标测试业务是否存在对应的预设数据库信息;若存在,则通过所述预设数据库信息中的sql语句访问对应数据库获取得到第一预期结果,其中,所述数据库是在通过所述测试组件基于预设测试数据,对所述待测系统对应接口进行测试的过程中基于预设数据库信息建立连接的。4.如权利要求3所述的接口测试方法,其特征在于,所述通过sql语句访问对应数据库获取得到第一预期结果的步骤,包括:基于所述目标待测业务对应的sql语句,识别并访问对应的数据库,以自动执行所述sql语句并以列表嵌套字典的形式提取所述第一预期结果。5.如权利要求3所述的接口测试方法,其特征在于,所述预设预期结果还包括第二预期结果,所述将所述目标测试结果与预设预期结果进行比对,得到所述待测系统对应接口的断言结果的步骤,包括:判断所述目标测试业务是否存在对应的预设数据库信息;若存在,则将所述目标测试结果与所述第一预期结果进行比对,得到所述待测系统对应接口的断言结果;若不存在,则将所述目标测试结果与所述第二预期结果进行比对,得到所述待测系统对应接口的断言结果。6.如权利要求2或5任一项所述的接口测试方法,其特征在于,所述入参数据包括预设路径和入参值,所述预设测试数据还包括入参数据对应的替换模式,所述基于所述目标待测业务对应的入参数据,对所述待测系统对应接口的访问参数进行替换的步骤,包括:基于所述预设路径,定位所述接口内待替换参数的目标节点;基于所述入参值以及所述替换模式,对应替换所述目标节点的访问参数。7.如权利要求1所述的接口测试方法,其特征在于,所述预设测试数据还包括预设结果
比对模式,所述将所述目标测试结果与预设预期结果进行比对,得到所述待测系统对应接口的断言结果的步骤,包括:基于所述目标待测任务的类型,确定预设结果比对模式;基于所述预设结果比对模式,对所述目标测试结果与预设预期结果中的相关内容进行比对,得到所述待测系统对应接口的断言结果。8.一种接口测试装置,其特征在于,所述接口测试装置包括:测试组件获取模块,用于获取待测系统对应接口的测试组件,其中,所述测试组件是基于预设接口定义文件以及预设格式转换方法,对所述待测系统对应接口的请求报文进行转换得到的;接口测试模块,用于通过所述测试组件基于预设测试数据,对所述待测系统对应接口进行测试,得到目标测试结果;结果比对模块,用于将所述目标测试结果与预设预期结果进行比对,得到所述待测系统对应接口的断言结果,完成接口测试。9.一种接口测试设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的接口测试程序,所述接口测试程序配置为实现如权利要求1至7中任一项所述的接口测试方法的步骤。10.一种存储介质,其特征在于,所述存储介质上存储有接口测试程序,所述接口测试程序被处理器执行时实现如权利要求1至7任一项所述的接口测试方法的步骤。

技术总结
本申请公开了一种接口测试方法、装置、设备及存储介质,属于测试技术领域,本申请通过获取待测系统对应接口的测试组件,由于所述测试组件是基于预设接口定义文件以及预设格式转换方法,对所述待测系统对应接口的请求报文进行转换得到的,也就是说,在接口测试时,测试工程师只需要有预设接口定义文件,即可基于预设接口定义文件以及预设格式转换方法,对所述待测系统对应接口的请求报文进行转换得到测试组件。只需要通过所述测试组件基于预设测试数据,对所述待测系统对应接口进行测试,即可得到目标测试结果;将所述目标测试结果与预设预期结果进行比对,得到所述待测系统对应接口的断言结果,完成接口测试。提高了接口的测试效率。效率。效率。


技术研发人员:卢小冬 庄浩
受保护的技术使用者:招商银行股份有限公司
技术研发日:2023.05.25
技术公布日:2023/9/20
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐