CN112699027A - 一种接口测试方法、装置、设备及可读存储介质 - Google Patents
一种接口测试方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN112699027A CN112699027A CN202011589514.7A CN202011589514A CN112699027A CN 112699027 A CN112699027 A CN 112699027A CN 202011589514 A CN202011589514 A CN 202011589514A CN 112699027 A CN112699027 A CN 112699027A
- Authority
- CN
- China
- Prior art keywords
- interface
- response data
- data
- actual
- standard
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 141
- 230000004044 response Effects 0.000 claims abstract description 144
- 238000000034 method Methods 0.000 claims abstract description 26
- 238000004590 computer program Methods 0.000 claims description 7
- 238000010998 test method Methods 0.000 claims 2
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种接口测试方法、装置、设备及可读存储介质,所述方法包括:通过预设对外接口接收由请求终端发送的关于待测试接口的接口配置文件;解析出包含在所述接口配置文件中的接口初始化信息、接口请求数据和标准接口响应数据;根据所述接口初始化信息调用所述待测试接口,并向所述待测试接口发送所述接口请求数据;接收由所述待测试接口返回的实际接口响应数据;将所述实际接口响应数据与所述标准接口响应数据进行比对,得到接口测试结果;将所述接口测试结果通过所述预设对外接口发送至所述请求终端;本发明可以简化接口测试工作,并提高了接口测试效率。
Description
技术领域
本发明涉及功能测试技术领域,特别涉及一种接口测试方法、装置、设备 及可读存储介质。
背景技术
在接口测试场景中,需要专业开发人员编写对应的测试用例和接口测试代 码以进行接口测试,但是,随着接口测试的需要越来越大,需要进行测试的接 口数量较多,给开发人员带来了很大的压力,如何更高效的进行接口测试成为 本领域技术人员亟需解决的技术问题。
发明内容
本发明的目的在于提供一种接口测试方法、装置、设备及可读存储介质, 本发明可以简化接口测试工作,并提高了接口测试效率。
根据本发明的一个方面,提供了一种接口测试方法,所述方法包括:
通过预设对外接口接收由请求终端发送的关于待测试接口的接口配置文件;
解析出包含在所述接口配置文件中的接口初始化信息、接口请求数据和标 准接口响应数据;
根据所述接口初始化信息调用所述待测试接口,并向所述待测试接口发送 所述接口请求数据;
接收由所述待测试接口返回的实际接口响应数据;
将所述实际接口响应数据与所述标准接口响应数据进行比对,得到接口测 试结果;
将所述接口测试结果通过所述预设对外接口发送至所述请求终端。
可选的,在所述将所述实际接口响应数据与所述标准接口响应数据进行比 对之前,所述方法还包括:
确定出所述标准接口响应数据的数据结构;其中,所述数据结构包括: JsonArray数组、JsonObject对象、String字符串;
将所述实际接口响应数据的数据结构转换为与所述标准接口响应数据一致 的数据结构。
可选的,当所述实际接口响应数据转换为JsonArray数组时,所述将所述 实际接口响应数据与所述标准接口响应数据进行比对,得到接口测试结果,具 体包括:
解析出所述实际接口响应数据中的所有JsonObject对象,依次解析出包含 在每个JsonObject对象中的各个Key键的Value值,并依次将所有解析出的Value 值按序形成实际数据序列;
解析出所述标准接口响应数据中的所有JsonObject对象,依次解析出包含 在每个JsonObject对象中的各个Key键的Value值,并依次将所有解析出的Value 值按序形成标准数据序列;
判断所述实际数据序列与所述标准数据序列是否一致;
若是,则将接口测试结果设置为测试成功;若否,则将接口测试结果设置 为测试失败。
可选的,当所述实际接口响应数据转换为JsonObject对象时,所述将所述 实际接口响应数据与所述标准接口响应数据进行比对,得到接口测试结果,具 体包括:
解析出包含在所述实际接口响应数据中的各个Key键的Value值,并将所 有解析出的Value值按序形成实际数据序列;
解析出包含在所述标准接口响应数据中的各个Key键的Value值,并将所 有解析出的Value值按序形成标准数据序列;
判断所述实际数据序列与所述标准数据序列是否一致;
若是,则将接口测试结果设置为测试成功;若否,则将接口测试结果设置 为测试失败。
可选的,所述判断所述实际数据序列与所述标准数据序列是否一致,具体 包括:
判断所述实际数据序列中的Value值的数量是否与所述标准数据序列中的 Value值的数量一致;
若是,则依次判断所述实际数据序列和所述标准数据序列中的各个Value 值是否一致。
可选的,当所述实际接口响应数据转换为String字符串时,所述将所述实 际接口响应数据与所述标准接口响应数据进行比对,得到接口测试结果,具体 包括:
判断所述实际接口响应数据是否与所述标准接口响应数据一致;
若是,则将接口测试结果设置为测试成功;若否,则将接口测试结果设置 为测试失败。
为了实现上述目的,本发明还提供一种接口测试装置,所述装置包括:
接口模块,用于通过预设对外接口接收由请求终端发送的关于待测试接口 的接口配置文件;
解析模块,用于解析出包含在所述接口配置文件中的接口初始化信息、接 口请求数据和标准接口响应数据;
处理模块,用于根据所述接口初始化信息执行所述待测试接口,并根据所 述接口请求数据请求所述待测试接口;
接收模块,用于接收由所述待测试接口返回的实际接口响应数据;
比对模块,用于将所述实际接口响应数据与所述标准接口响应数据进行比 对,得到接口测试结果;
发送模块,用于将所述接口测试结果通过所述预设对外接口发送至所述请 求终端。
可选的,所述比对模块,还用于:
确定出所述标准接口响应数据的数据结构;其中,所述数据结构包括: JsonArray数组、JsonObject对象、String字符串;将所述实际接口响应数据的 数据结构转换为与所述标准接口响应数据一致的数据结构。
为了实现上述目的,本发明还提供一种计算机设备,该计算机设备具体包 括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算 机程序,所述处理器执行所述计算机程序时实现上述介绍的接口测试方法的步 骤。
为了实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有 计算机程序,所述计算机程序被处理器执行时实现上述介绍的接口测试方法的 步骤。
本发明提供的接口测试方法、装置、设备及可读存储介质,可实现自动化 的接口测试功能,用户只需配置好接口配置文件即可,不需要关心测试接口的 具体实现逻辑,可以简化接口测试工作,并提高了接口测试效率。此外,本发 明也可以减少工作人员编写接口测试代码的工作量,避免了代码出错率,通过 自动化比对实际接口响应数据与接口配置文件中的标准接口响应数据以判断接 口测试是否成功,接口测试准确率较高。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领 域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并 不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的 部件。在附图中:
图1为实施例一提供的接口测试方法的一种可选的流程示意图;
图2为实施例二提供的接口测试装置的一种可选的组成结构示意图;
图3为实施例三提供的计算机设备的一种可选的硬件架构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅 用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通 技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发 明保护的范围。
实施例一
本发明实施例提供了一种接口测试方法,如图1所示,该方法具体包括以 下步骤:
步骤S101:通过预设对外接口接收由请求终端发送的关于待测试接口的接 口配置文件。
具体的,所述接口配置文件包括:接口初始化信息、接口请求数据和标准 接口响应数据;其中,
所述接口初始化信息包括:前置数组sql信息,sql执行类型查询信息和dml 类信息,且具体的sql语句可以支持参数替换;所述前置数组sql信息为调用所 述待测试接口所需要的前置数据,所述前置数组sql信息可能涉及到多张数据 表,所述前置数组sql信息能够保证接口执行场景的稳定性;此外,所述接口 初始化信息还包括:接口登录态客户号、接口类型、接口域名、接口请求地址。
所述接口请求数据包括:用于进行接口请求的接口请求参数;所述接口请 求数据可以支持不同类型的接口请求参数,例如get、post等;
所述标准接口响应数据为当根据所述接口请求数据请求所述待测试接口时 所述待测试接口应该返回的数据。
需要说明的是,接口配置文件是请求方事先根据待测试接口信息设置的, 在本实施例中,请求方只需要维护接口配置文件,并不需要关心接口测试的具 体逻辑,从而便于请求方进行接口测试。
步骤S102:解析出包含在所述接口配置文件中的接口初始化信息、接口请 求数据和标准接口响应数据。
具体的,利用CaseDataParseProvider类,从所述接口配置文件中解析出接 口初始化信息、接口请求数据和标准接口响应数据。
步骤S103:根据所述接口初始化信息调用所述待测试接口,并向所述待测 试接口发送所述接口请求数据。
在步骤S103中,将所述接口初始化信息和所述接口请求数据导入预设接口 测试模板中,以根据所述接口初始化信息中的前置数组sql信息构建出待测试 接口的运行环境,并根据所述接口初始化信息中的接口请求地址以调用待测试 接口,从而向所述待测试接口发送接口请求数据,以得到所述待测试接口反馈 的实际接口响应数据;此外,还可以根据所述接口初始化信息和接口请求数据 形成接口测试用例,并通过执行所述接口测试用例以对所述待测试接口进行接 口测试,以得到所述待测试接口返回的实际接口响应数据。
步骤S104:接收由所述待测试接口返回的实际接口响应数据;
步骤S105:将所述实际接口响应数据与所述标准接口响应数据进行比对, 得到接口测试结果。
具体的,在所述接收由所述待测试接口返回的实际接口响应数据之后,并 且在所述将所述实际接口响应数据与所述标准接口响应数据进行比对之前,所 述方法还包括:
步骤A1:确定出所述标准接口响应数据的数据结构;其中,所述数据结构 包括:JsonArray数组、JsonObject对象、String字符串;
步骤A2:将所述实际接口响应数据的数据结构转换为与所述标准接口响应 数据一致的数据结构。
在本实施例中,为了后续比对操作的方便,需要将统一实际接口响应数据 与标准接口响应数据的数据结构的一致性;当标准接口响应数据的数据结构为 JsonArray数组时,将实际接口响应数据转换为JsonArray数组;当标准接口响 应数据的数据结构为JsonObject对象时,将实际接口响应数据转换为JsonObject 对象;当标准接口响应数据的数据结构为String字符串时,将实际接口响应数 据转换为String字符串。
在实际应用中,可通过迭代器Iterator解析出包含在所述实际接口响应数据 中的Key键和Value值,并根据解析出的Key键和Value值,利用Instanceof 将所述实际接口响应数据转换为JsonArray数组、JsonObject对象、或String字 符串,以用于后续的diff比对。
进一步的,当所述实际接口响应数据转换为JsonArray数组时,所述将所 述实际接口响应数据与所述标准接口响应数据进行比对,得到接口测试结果, 具体包括:
步骤B1:解析出所述实际接口响应数据中的所有JsonObject对象,依次解 析出包含在每个JsonObject对象中的各个Key键的Value值,并依次将所有解 析出的Value值按序形成实际数据序列;
步骤B2:解析出所述标准接口响应数据中的所有JsonObject对象,依次解 析出包含在每个JsonObject对象中的各个Key键的Value值,并依次将所有解 析出的Value值按序形成标准数据序列;
优选的,在步骤B1和步骤B2中,针对JsonArray数组中的一个JsonObject 对象,将包含在所述JsonObject对象中的所有Value值按序形成对应的子序列, 并将所述JsonArray数组中的各个JsonObject对象对应的子序列按序合并成数据 序列;
步骤B3:判断所述实际数据序列与所述标准数据序列是否一致;
步骤B4:若是,则将接口测试结果设置为测试成功;若否,则将接口测试 结果设置为测试失败。
更进一步的,所述步骤B3,具体包括:
判断所述实际数据序列中的Value值的数量是否与所述标准数据序列中的 Value值的数量一致;
若是,则依次判断所述实际数据序列和所述标准数据序列中的各个Value 值是否一致,且当一致时将接口测试结果设置为测试成功或者当不一致时将接 口测试结果设置为测试失败;
若否,则将接口测试结果设置为测试失败。
在本实施例中,当标准接口响应数据为JsonArray数组时,将所述实际接 口响应数据转换为JsonArray数组;由于在一个JsonArray数组中会包含多个 JsonObject对象,且在一个JsonObject对象中会包含多个Key键和Value值, 所以为了节省比对时间,可以将包含在JsonArray数组中的所有JsonObject对象 的所有Value值形成数据序列,并通过比对数据序列以判断接口测试是否成功。
进一步的,当所述实际接口响应数据转换为JsonObject对象时,所述将所 述实际接口响应数据与所述标准接口响应数据进行比对,得到接口测试结果, 具体包括:
步骤C1:解析出包含在所述实际接口响应数据中的各个Key键的Value值, 并将所有解析出的Value值按序形成实际数据序列;
步骤C2:解析出包含在所述标准接口响应数据中的各个Key键的Value值, 并将所有解析出的Value值按序形成标准数据序列;
步骤C3:判断所述实际数据序列与所述标准数据序列是否一致;
步骤C4:若是,则将接口测试结果设置为测试成功;若否,则将接口测试 结果设置为测试失败。
更进一步的,所述步骤C3,具体包括:
判断所述实际数据序列中的Value值的数量是否与所述标准数据序列中的 Value值的数量一致;
若是,则依次判断所述实际数据序列和所述标准数据序列中的各个Value 值是否一致,且当一致时将接口测试结果设置为测试成功或者当不一致时将接 口测试结果设置为测试失败;
若否,则将接口测试结果设置为测试失败。
在本实施例中,当标准接口响应数据为JsonObject对象时,将所述实际接 口响应数据转换为JsonObject对象;由于在一个JsonObject对象中会包含多个 Key键和Value值,所以为了节省比对时间,可以将包含在JsonObject对象中 的所有Value值形成数据序列,并通过比对数据序列以判断接口测试是否成功。
进一步的,当所述实际接口响应数据转换为String字符串时,所述将所述 实际接口响应数据与所述标准接口响应数据进行比对,得到接口测试结果,具 体包括:
步骤D1:判断所述实际接口响应数据是否与所述标准接口响应数据一致;
步骤D2:若是,则将接口测试结果设置为测试成功;若否,则将接口测试 结果设置为测试失败。
在本实施例中,当标准接口响应数据为String字符串时,将所述实际接口 响应数据转换为String字符串,并直接比对String字符串是否一致以判断接口 测试是否成功。
步骤S105:将所述接口测试结果通过所述预设对外接口发送至所述请求终 端。
在本实施例中,在断言全面性上,引入了diff比对思想,在进行diff操作 之前,先将所有实际接口响应数据转化为JsonArray、JsonObject、或String三 种数据结构,再通过循环和递归思路批量完成断言操作。
此外,在本实施例中采用了高度封装思想,将初始化接口操作、接口请求 操作、接口响应参数的比对操作封装成一个接口自动化框架,且封装好的接口 自动化框架提供对外接口,以供用户通过对外接口传入接口配置文件;其中, 所述接口配置文件包括待测试接口信息和用于比对的标准接口响应数据;从而 实现了配置化的接口自动化框架,用户只需配置好接口配置文件即可,不需要 关心测试接口的具体实现逻辑。
实施例二
本发明实施例提供了一种接口测试装置,如图2所示,该装置具体包括以 下组成部分:
接口模块201,用于通过预设对外接口接收由请求终端发送的关于待测试 接口的接口配置文件;
解析模块202,用于解析出包含在所述接口配置文件中的接口初始化信息、 接口请求数据和标准接口响应数据;
处理模块203,用于根据所述接口初始化信息调用所述待测试接口,并向 所述待测试接口发送所述接口请求数据;
接收模块204,用于接收由所述待测试接口返回的实际接口响应数据;
比对模块205,用于将所述实际接口响应数据与所述标准接口响应数据进 行比对,得到接口测试结果;
发送模块206,用于将所述接口测试结果通过所述预设对外接口发送至所 述请求终端。
具体的,所述接口配置文件包括:接口初始化信息、接口请求数据和标准 接口响应数据;其中,
所述接口初始化信息包括:前置数组sql信息,sql执行类型查询信息和dml 类信息,且具体的sql语句可以支持参数替换;所述前置数组sql信息用于执行 所述待测试接口所需要的前置数据,所述前置数组sql信息可能涉及到多张数 据表,所述前置数组sql信息能够保证接口执行场景的稳定性;
所述接口请求数据包括:接口登录态客户号、接口类型、接口域名、接口 URL地址、接口请求参数;所述接口请求数据可以支持不同类型的接口请求参 数,例如get、post等;
所述标准接口响应数据为当根据所述接口请求数据请求所述待测试接口时 所述待测试接口应该返回的数据。
需要说明的是,接口配置文件是请求方事先根据待测试接口信息设置的, 在本实施例中,请求方只需要维护接口配置文件,并不需要关心接口测试的具 体逻辑,从而便于请求方进行接口测试。
此外,比对模块205,还用于:
确定出所述标准接口响应数据的数据结构;其中,所述数据结构包括: JsonArray数组、JsonObject对象、String字符串;将所述实际接口响应数据的 数据结构转换为与所述标准接口响应数据一致的数据结构。
进一步的,比对模块205,具体用于:
当所述实际接口响应数据转换为JsonArray数组时,解析出所述实际接口 响应数据中的所有JsonObject对象,依次解析出包含在每个JsonObject对象中 的各个Key键的Value值,并依次将所有解析出的Value值按序形成实际数据 序列;解析出所述标准接口响应数据中的所有JsonObject对象,依次解析出包 含在每个JsonObject对象中的各个Key键的Value值,并依次将所有解析出的 Value值按序形成标准数据序列;判断所述实际数据序列与所述标准数据序列是 否一致;若是,则将接口测试结果设置为测试成功;若否,则将接口测试结果 设置为测试失败;
当所述实际接口响应数据转换为JsonObject对象时,解析出包含在所述实 际接口响应数据中的各个Key键的Value值,并将所有解析出的Value值按序 形成实际数据序列;解析出包含在所述标准接口响应数据中的各个Key键的 Value值,并将所有解析出的Value值按序形成标准数据序列;判断所述实际数 据序列与所述标准数据序列是否一致;若是,则将接口测试结果设置为测试成 功;若否,则将接口测试结果设置为测试失败。
当所述实际接口响应数据转换为String字符串时,判断所述实际接口响应 数据是否与所述标准接口响应数据一致;若是,则将接口测试结果设置为测试 成功;若否,则将接口测试结果设置为测试失败。
更进一步的,比对模块205在实现判断所述实际数据序列与所述标准数据 序列是否一致的步骤时,具体包括:
判断所述实际数据序列中的Value值的数量是否与所述标准数据序列中的 Value值的数量一致;若是,则依次判断所述实际数据序列和所述标准数据序列 中的各个Value值是否一致。
实施例三
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、 笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜 式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如 图3所示,本实施例的计算机设备30至少包括但不限于:可通过系统总线相互 通信连接的存储器301、处理器302。需要指出的是,图3仅示出了具有组件 301-302的计算机设备30,但是应理解的是,并不要求实施所有示出的组件, 可以替代的实施更多或者更少的组件。
本实施例中,存储器301(即可读存储介质)包括闪存、硬盘、多媒体卡、 卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随 机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器 (EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在 一些实施例中,存储器301可以是计算机设备30的内部存储单元,例如该计算 机设备30的硬盘或内存。在另一些实施例中,存储器301也可以是计算机设备 30的外部存储设备,例如该计算机设备30上配备的插接式硬盘,智能存储卡 (Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器301还可以既包括计算机设备30的内部存储单元也包 括其外部存储设备。在本实施例中,存储器301通常用于存储安装于计算机设 备30的操作系统和各类应用软件。此外,存储器301还可以用于暂时地存储已 经输出或者将要输出的各类数据。
处理器302在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器302通 常用于控制计算机设备30的总体操作。
具体的,在本实施例中,处理器302用于执行存储器301中存储的接口测 试方法的程序,所述接口测试方法的程序被执行时实现如下步骤:
通过预设对外接口接收由请求终端发送的关于待测试接口的接口配置文件;
解析出包含在所述接口配置文件中的接口初始化信息、接口请求数据和标 准接口响应数据;
根据所述接口初始化信息调用所述待测试接口,并向所述待测试接口发送 所述接口请求数据;
接收由所述待测试接口返回的实际接口响应数据;
将所述实际接口响应数据与所述标准接口响应数据进行比对,得到接口测 试结果;
将所述接口测试结果通过所述预设对外接口发送至所述请求终端。
上述方法步骤的具体实施例过程可参见第一实施例,本实施例在此不再重 复赘述。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡 型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机 访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器 (EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务 器、App应用商城等等,其上存储有计算机程序,所述计算机程序被处理器执 行时实现如下方法步骤:
通过预设对外接口接收由请求终端发送的关于待测试接口的接口配置文件;
解析出包含在所述接口配置文件中的接口初始化信息、接口请求数据和标 准接口响应数据;
根据所述接口初始化信息调用所述待测试接口,并向所述待测试接口发送 所述接口请求数据;
接收由所述待测试接口返回的实际接口响应数据;
将所述实际接口响应数据与所述标准接口响应数据进行比对,得到接口测 试结果;
将所述接口测试结果通过所述预设对外接口发送至所述请求终端。
上述方法步骤的具体实施例过程可参见第一实施例,本实施例在此不再重 复赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意 在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装 置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为 这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由 语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物 品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实 施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬 件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利 用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运 用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种接口测试方法,其特征在于,所述方法包括:
通过预设对外接口接收由请求终端发送的关于待测试接口的接口配置文件;
解析出包含在所述接口配置文件中的接口初始化信息、接口请求数据和标准接口响应数据;
根据所述接口初始化信息调用所述待测试接口,并向所述待测试接口发送所述接口请求数据;
接收由所述待测试接口返回的实际接口响应数据;
将所述实际接口响应数据与所述标准接口响应数据进行比对,得到接口测试结果;
将所述接口测试结果通过所述预设对外接口发送至所述请求终端。
2.根据权利要求1所述的接口测试方法,其特征在于,在所述接收由所述待测试接口返回的实际接口响应数据之后,并且在所述将所述实际接口响应数据与所述标准接口响应数据进行比对之前,所述方法还包括:
确定出所述标准接口响应数据的数据结构;其中,所述数据结构包括:JsonArray数组、JsonObject对象、String字符串;
将所述实际接口响应数据的数据结构转换为与所述标准接口响应数据一致的数据结构。
3.根据权利要求2所述的接口测试方法,其特征在于,当所述实际接口响应数据转换为JsonArray数组时,所述将所述实际接口响应数据与所述标准接口响应数据进行比对,得到接口测试结果,具体包括:
解析出所述实际接口响应数据中的所有JsonObject对象,依次解析出包含在每个JsonObject对象中的各个Key键的Value值,并依次将所有解析出的Value值按序形成实际数据序列;
解析出所述标准接口响应数据中的所有JsonObject对象,依次解析出包含在每个JsonObject对象中的各个Key键的Value值,并依次将所有解析出的Value值按序形成标准数据序列;
判断所述实际数据序列与所述标准数据序列是否一致;
若是,则将接口测试结果设置为测试成功;若否,则将接口测试结果设置为测试失败。
4.根据权利要求2所述的接口测试方法,其特征在于,当所述实际接口响应数据转换为JsonObject对象时,所述将所述实际接口响应数据与所述标准接口响应数据进行比对,得到接口测试结果,具体包括:
解析出包含在所述实际接口响应数据中的各个Key键的Value值,并将所有解析出的Value值按序形成实际数据序列;
解析出包含在所述标准接口响应数据中的各个Key键的Value值,并将所有解析出的Value值按序形成标准数据序列;
判断所述实际数据序列与所述标准数据序列是否一致;
若是,则将接口测试结果设置为测试成功;若否,则将接口测试结果设置为测试失败。
5.根据权利要求3或4所述的接口测试方法,其特征在于,所述判断所述实际数据序列与所述标准数据序列是否一致,具体包括:
判断所述实际数据序列中的Value值的数量是否与所述标准数据序列中的Value值的数量一致;
若是,则依次判断所述实际数据序列和所述标准数据序列中的各个Value值是否一致。
6.根据权利要求2所述的接口测试方法,其特征在于,当所述实际接口响应数据转换为String字符串时,所述将所述实际接口响应数据与所述标准接口响应数据进行比对,得到接口测试结果,具体包括:
判断所述实际接口响应数据是否与所述标准接口响应数据一致;
若是,则将接口测试结果设置为测试成功;若否,则将接口测试结果设置为测试失败。
7.一种接口测试装置,其特征在于,所述装置包括:
接口模块,用于通过预设对外接口接收由请求终端发送的关于待测试接口的接口配置文件;
解析模块,用于解析出包含在所述接口配置文件中的接口初始化信息、接口请求数据和标准接口响应数据;
处理模块,用于根据所述接口初始化信息调用所述待测试接口,并向所述待测试接口发送所述接口请求数据;
接收模块,用于接收由所述待测试接口返回的实际接口响应数据;
比对模块,用于将所述实际接口响应数据与所述标准接口响应数据进行比对,得到接口测试结果;
发送模块,用于将所述接口测试结果通过所述预设对外接口发送至所述请求终端。
8.根据权利要求7所述的接口测试装置,其特征在于,所述比对模块,还用于:
确定出所述标准接口响应数据的数据结构;其中,所述数据结构包括:JsonArray数组、JsonObject对象、String字符串;将所述实际接口响应数据的数据结构转换为与所述标准接口响应数据一致的数据结构。
9.一种计算机设备,所述计算机设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011589514.7A CN112699027A (zh) | 2020-12-29 | 2020-12-29 | 一种接口测试方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011589514.7A CN112699027A (zh) | 2020-12-29 | 2020-12-29 | 一种接口测试方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112699027A true CN112699027A (zh) | 2021-04-23 |
Family
ID=75511652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011589514.7A Pending CN112699027A (zh) | 2020-12-29 | 2020-12-29 | 一种接口测试方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112699027A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485914A (zh) * | 2021-06-09 | 2021-10-08 | 镁佳(北京)科技有限公司 | 一种车载语音sdk测试方法、装置及系统 |
CN115333987A (zh) * | 2022-08-11 | 2022-11-11 | 北京广利核系统工程有限公司 | 一种接口测试系统和方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109101415A (zh) * | 2018-06-25 | 2018-12-28 | 平安科技(深圳)有限公司 | 基于数据库比对的接口测试方法、系统、设备和存储介质 |
CN109446075A (zh) * | 2018-09-30 | 2019-03-08 | 北京金山安全软件有限公司 | 一种接口测试方法及装置 |
CN111723019A (zh) * | 2020-06-28 | 2020-09-29 | 深圳壹账通智能科技有限公司 | 接口的调试方法及系统 |
CN111831563A (zh) * | 2020-07-09 | 2020-10-27 | 平安国际智慧城市科技股份有限公司 | 接口自动测试方法、装置及存储介质 |
-
2020
- 2020-12-29 CN CN202011589514.7A patent/CN112699027A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109101415A (zh) * | 2018-06-25 | 2018-12-28 | 平安科技(深圳)有限公司 | 基于数据库比对的接口测试方法、系统、设备和存储介质 |
CN109446075A (zh) * | 2018-09-30 | 2019-03-08 | 北京金山安全软件有限公司 | 一种接口测试方法及装置 |
CN111723019A (zh) * | 2020-06-28 | 2020-09-29 | 深圳壹账通智能科技有限公司 | 接口的调试方法及系统 |
CN111831563A (zh) * | 2020-07-09 | 2020-10-27 | 平安国际智慧城市科技股份有限公司 | 接口自动测试方法、装置及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485914A (zh) * | 2021-06-09 | 2021-10-08 | 镁佳(北京)科技有限公司 | 一种车载语音sdk测试方法、装置及系统 |
CN115333987A (zh) * | 2022-08-11 | 2022-11-11 | 北京广利核系统工程有限公司 | 一种接口测试系统和方法 |
CN115333987B (zh) * | 2022-08-11 | 2023-12-29 | 北京广利核系统工程有限公司 | 一种接口测试系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108415832B (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
CN107370786B (zh) | 一种基于微服务架构的通用信息管理系统 | |
CN112765023B (zh) | 测试用例生成方法、装置 | |
CN110647471B (zh) | 接口测试用例生成方法、电子装置及存储介质 | |
CN110764942A (zh) | 多种类数据校验方法、装置、计算机系统及可读存储介质 | |
CN108628748B (zh) | 自动化测试管理方法和自动化测试管理系统 | |
CN110825619A (zh) | 接口测试用例自动生成方法、装置及存储介质 | |
CN111694749A (zh) | 接口自动测试方法、装置、计算机设备及可读存储介质 | |
CN111309593A (zh) | Json接口校验的方法、装置、设备及计算机可读存储介质 | |
CN110928802A (zh) | 基于自动生成用例的测试方法、装置、设备及存储介质 | |
CN111414391A (zh) | 一种访问多数据源的方法及系统 | |
CN112699027A (zh) | 一种接口测试方法、装置、设备及可读存储介质 | |
CN111367982A (zh) | 导入tririga基础数据的方法、装置、计算机设备及存储介质 | |
CN117033249A (zh) | 一种测试用例生成方法、装置、计算机设备及存储介质 | |
CN117493309A (zh) | 一种标准模型生成方法、装置、设备及存储介质 | |
CN112965721A (zh) | 基于Android的项目编译方法、装置、计算机设备及存储介质 | |
CN114637672A (zh) | 自动化数据测试方法、装置、计算机设备及存储介质 | |
CN111625459A (zh) | 应用程序测试方法、装置、计算机设备及存储介质 | |
CN112417012A (zh) | 数据处理方法及系统 | |
CN111324537A (zh) | 基于测试脚本的测试方法、装置及计算机设备 | |
CN110737707A (zh) | 多系统的日志搜索方法、装置及计算机可读存储介质 | |
CN110825795A (zh) | 访问数据库的方法、装置、设备及计算机可读存储介质 | |
CN116755684B (zh) | OAS Schema的生成方法、装置、设备及介质 | |
CN113806372B (zh) | 新数据信息构建方法、装置、计算机设备及存储介质 | |
CN114143187B (zh) | 智能平台接口网络地址管理方法、系统、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |