CN118093435A - 一种接口的测试方法、装置、电子设备及存储介质 - Google Patents
一种接口的测试方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN118093435A CN118093435A CN202410473013.4A CN202410473013A CN118093435A CN 118093435 A CN118093435 A CN 118093435A CN 202410473013 A CN202410473013 A CN 202410473013A CN 118093435 A CN118093435 A CN 118093435A
- Authority
- CN
- China
- Prior art keywords
- interface
- test
- target
- use case
- testing
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3698—Environments for analysis, debugging or testing of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种接口的测试方法、装置、电子设备及存储介质,涉及软件测试技术领域,其中,方法包括将构成待测试模块的接口所对应的至少一个接口文档导入测试平台中,在测试平台中加载接口以及接口对应的接口用例;在测试平台的测试场景界面中编辑测试场景信息,为测试场景添加测试步骤,测试步骤包括第一目标接口和第一目标接口用例,并在后置操作标签页中为第二目标接口或第二目标接口用例配置断言;基于测试场景信息所指示的预设环境类型,在测试环境管理界面中,为测试环境配置环境变量参数;使测试平台以当前创建的测试场景对测试步骤进行自动测试,以获取测试结果,测试结果至少包括断言结果,提高了接口的测试效率,降低了测试成本。
Description
技术领域
本申请涉及软件测试技术领域,具体而言,涉及一种接口的测试方法、装置、电子设备及存储介质。
背景技术
随着科技的高速发展,接口管理工具的使用变得愈发重要。然而,现有的接口管理工具往往面临兼容性和功能性的挑战。但现有的接口测试方法往往需要开发者手动编写接口测试代码,增加了工作量且容易出错,测试效率不高。
发明内容
有鉴于此,本申请的目的在于提供一种接口的测试方法、装置、电子设备及存储介质,通过测试平台实现接口的自动化测试,提高了接口的测试效率,降低了测试成本。
第一方面,本申请提供了一种接口的测试方法,方法包括将构成待测试模块的接口所对应的至少一个接口文档导入测试平台中,在测试平台中加载接口以及接口对应的接口用例;在测试平台的测试场景界面中编辑测试场景信息,为测试场景添加测试步骤,测试步骤包括第一目标接口和第一目标接口用例,并在后置操作标签页中为第二目标接口或第二目标接口用例配置断言,其中,第一目标接口包括第二目标接口,第一目标接口用例包括第二目标接口用例;基于测试场景信息所指示的预设环境类型,在测试环境管理界面中,为测试环境配置环境变量参数;使测试平台以当前创建的测试场景对测试步骤进行自动测试,以获取测试结果,测试结果至少包括断言结果。
优选的,还包括在在CI/CD标签页中生成定时自动测试任务,使测试平台根据定时自动测试任务所指示的时间间隔,对测试步骤进行自动测试,测试平台将每次自动测试的测试结果发送至自动测试任务所指示的邮箱地址。
优选的,在测试平台中导入待测试模块对应的接口文档,在测试平台中创建待测试模块对应的接口和接口用例的步骤,具体包括:在导入数据标签页中,选择与接口文档的类型对应的类型按钮;将接口文档的文件拖拽至导入数据标签页中的导入区域,并点击提交按钮;获取测试平台根据接口文档获取出的接口列表;在接口列表中选择出待测试的接口,以使测试平台中加载出对应的接口和接口用例。
优选的,针对测试平台创建出的任一接口或接口用例,还包括:对该接口或接口用例的目标请求参数进行调整,其中,请求参数为测试平台自动生成的;对该接口或接口用例的目标请求参数进行调整的步骤具体包括:点击接口或接口用例对应的操作区域,展开接口详情界面;在接口详情界面的请求参数标签页中与目标请求参数对应的参数值编辑框中输入预设返回值,或在接口详情界面的请求参数标签页中与目标请求参数对应的参数值编辑框中添加虚拟对象,虚拟对象用于在接口运行时生成与目标请求参数的格式匹配的返回值。
优选的,针对任一第二目标接口或第二目标接口用例,通过以下方式配置断言:在该第二目标接口或该第二目标接口用例对应的后置操作标签页中,添加断言任务项;在断言任务项的配置界面中,分别输入对应的断言名称、断言对象、路径表达式以及断言条件。
优选的,在对测试步骤进行自动测试的步骤之前,还包括为第三目标接口配置加密任务,使第三目标接口在测试过程中对与其他接口的通讯字段进行加密。
优选的,通过以下方式为每一第三目标接口配置加密任务:在该第三目标接口的body操作标签页中,配置需要加密的字段;在该第三目标接口的前置操作标签页中,输入用于对字段加密的加密脚本。
第二方面,本申请提供了一种接口的测试装置,装置包括:
导入模块,用于将构成待测试模块的接口所对应的至少一个接口文档导入测试平台中,在测试平台中加载接口以及接口对应的接口用例;
步骤配置模块,用于在测试平台的测试场景界面中编辑测试场景信息,为测试场景添加测试步骤,测试步骤包括第一目标接口和第一目标接口用例,并在后置操作标签页中为第二目标接口或第二目标接口用例配置断言,其中,第一目标接口包括第二目标接口,第一目标接口用例包括第二目标接口用例;
环境配置模块,用于基于测试场景信息所指示的根据预设环境类型,在测试环境管理界面中,为测试环境配置环境变量参数;
测试模块,用于使测试平台以当前创建的测试场景对测试步骤进行自动测试,以获取测试结果,测试结果至少包括断言结果。
第三方面,本申请还提供一种电子设备,包括:处理器、存储器和总线,存储器存储有处理器可执行的机器可读指令,当电子设备运行时,处理器与存储器之间通过总线通信,机器可读指令被处理器执行时执行如上述的一种接口的测试方法的步骤。
第四方面,本申请还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的一种接口的测试方法的步骤。
本申请提供的一种接口的测试方法、装置、电子设备及存储介质,其中,方法包括将构成待测试模块的接口所对应的至少一个接口文档导入测试平台中,在测试平台中加载接口以及接口对应的接口用例;在测试平台的测试场景界面中编辑测试场景信息,为测试场景添加测试步骤,测试步骤包括第一目标接口和第一目标接口用例,并在后置操作标签页中为第二目标接口或第二目标接口用例配置断言,其中,第一目标接口包括第二目标接口,第一目标接口用例包括第二目标接口用例;基于测试场景信息所指示的预设环境类型,在测试环境管理界面中,为测试环境配置环境变量参数;使测试平台以当前创建的测试场景对测试步骤进行自动测试,以获取测试结果,测试结果至少包括断言结果。通过具有自动接口测试能力的测试平台,对接口进行自动测试,只需要导入接口文档以及简单的参数调整,无需编写复杂的测试脚本,提高了接口的测试效率,降低了测试成本。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例所提供的一种接口的测试方法的流程图;
图2为本申请实施例所提供的一种接口的测试装置的结构示意图;
图3为本申请实施例所提供的另一种接口的测试装置的结构示意图;
图4为本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中的附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应当理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
本说明书中使用用语“一个”、“一”、“该”和“所述”用以表示存在一个或多个要素/组成部分/等;用语“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”和“第二”等仅作为标记使用,不是对其对象的数量限制。
应当理解,在本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或者两个以上。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“包含A、B和/或C”是指包含A、B、C三者中任1个或任2个或3个。
应当理解,在本申请实施例中,“与A对应的B”、“与A相对应的B”、“A与B相对应”或者“B与A相对应”,表示B与A相关联,根据A可以确定B。根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的全部其他实施例,都属于本申请保护的范围。
首先,对本申请可适用的应用场景进行介绍。本申请可应用于软件开发过程中对应用程序编程接口(Application Programming Interface,API)的测试。
随着科技的高速发展,接口管理工具的使用变得愈发重要。然而,现有的接口管理工具往往面临兼容性和功能性的挑战。但现有的接口测试方法往往需要开发者手动编写接口测试代码,增加了工作量且容易出错,测试效率不高。
基于此,本申请实施例提供了一种接口的测试方法、装置、电子设备及存储介质。
具体的,这里的测试平台为Apifox接口管理平台,它能够支持导入接口文档并自动生成测试用例,以及支持多人协作、持续集成以及实时监控等功能。
实施例一
这里,对采用Apifox进行接口测试的步骤进行说明。
请参阅图1,图1为本申请实施例所提供的一种接口的测试方法的流程图。如图1中所示,本申请实施例提供的一种接口的测试方法,包括:
S1、将构成待测试模块的接口所对应的至少一个接口文档导入测试平台中,在测试平台中加载接口以及接口对应的接口用例。
这里的接口文档是在目标软件开发中由前后端工程师根据软件功能需求共同定义制作的,用于对接口进行开发。这里的接口文档中至少包括与接口对应的请求Url、方法、信息头、请求示例、响应类型、响应示例等数据规范,一般可以为Swagger Url或OpenAPIJSON文件。目标软件则是多个不同功能对应的模块构成的。
将构成待测试模块的接口所对应的至少一个接口文档导入测试平台中,在测试平台中加载接口以及接口对应的接口用例的步骤,具体包括:
在导入数据标签页中,选择与接口文档的类型对应的类型按钮。将接口文档的文件拖拽至导入数据标签页中的导入区域,并点击提交按钮。获取测试平台根据接口文档获取出的接口列表。在接口列表中选择出待测试的接口,以使测试平台中加载出对应的接口和接口用例。
在使用Apifox进行接口测试时,首先创建一个测试项目。在测试项目下的新建标签页中,可以选择导入选项。导入时可以选择定时或手动导入。以手动导入为例,可以先选择所要导入的接口文档的格式,如Swagger,接着将接口文档上传,测试平台响应接收到的接口文档,显示出导入预览界面。
导入预览界面中会显示出与上传内容对应的接口、数据模块和环境等。在预览界面的接口标签页中,显示有接口列表,测试人员可以自行根据需要选择测试时所要使用的接口。还可以在导入预览界面中设置接口在当前测试项目中所要导入的目录。
测试人员选择好所要使用的接口后,可以点击导入预览界面中的确认导入按钮,测试平台则会将对应的接口导入,并显示导入成功界面。这里,测试平台在导入接口的同时,还会自动生成接口对应的一个成功接口用例。
例如,接口为登入功能,则对应的成功接口用例则为登入成功的接口用例。
随后,测试人员可以在当前的测试项目中的接口管理栏中对导入的接口进一步操作。
这里,接口的导入也可以是其他方式,如通过URL导入等。
S2、在测试平台的测试场景界面中编辑测试场景信息,为测试场景添加测试步骤,测试步骤包括第一目标接口和第一目标接口用例,并在后置操作标签页中为第二目标接口或第二目标接口用例配置断言,其中,第一目标接口包括第二目标接口,第一目标接口用例包括第二目标接口用例。
在步骤S2中,测试人员可以打开测试平台中的自动化测试标签页,为当前测试项目新建测试场景。
在新建测试场景界面中,测试人员可以输入测试场景的名称,如“XX软件核心业务”,选择目标以及优先级,还可以添加说明信息。
随后,在测试场景的详情界面中,可以进一步编辑测试步骤。具体的,在测试步骤标签页中,点击添加步骤按钮。这里,可以选择添加接口或接口用例,可以是步骤S1中导入的接口或接口用例(默认自动继承测试用例中的请求Url和方法),也可以是测试平台中已经创建好的接口或接口用例。
示例性的,测试步骤可以包括注册、注册成功、登入、登入成功、充值、充值成功几个接口和接口用例构成。
对于复杂的测试场景,还可以使用流程控制测试用例(如分组、条件判断、循环、等待)等。
这里,针对任一第二目标接口或第二目标接口用例,可以通过以下方式配置断言:
在该第二目标接口或该第二目标接口用例对应的后置操作标签页中,添加断言任务项;在断言任务项的配置界面中,分别输入对应的断言名称、断言对象、路径表达式以及断言条件。
为了确定接口响应的结果是否与预期结果相符合,测试人员可以打开接口或接口用例对应的后置操作标签页。带年纪添加后置操作按钮,选择断言类型的操作并添加。测试平台会显示出断言任务项的配置界面,在断言任务项的配置界面,测试人员可以输入断言名称,(可不填)、断言对象,如“Response Text、Response JSON、Response Header、Response Cookie等”、JSONpath表达式,如“$.code”、选择断言条件如“等于0、大于1、小于1等”。
这样,测试人员可以在接口或接口用例的详情页中点击发送按钮,详情页中随后会显示出断言结果,如“成功,$.code等于0”。
在构建测试场景时,测试人员可以选择运行环境,包括测试环境、开发环境和正式环境等。还可以设置循环次数、线程数、间隔停顿等。这里,不同的测试场景是相互独立的,不对其他环境的数据和测试产生影响。
S3、基于测试场景信息所指示的预设环境类型,在测试环境管理界面中,为测试环境配置环境变量参数。
在步骤S3中,各环境中可以配置不同的参数,根据实际需要轻松创建各种个性化的mock数据。常见的环境变量参数可以包括图片、用户名、手机号、网址、日期、时间、时间戳、邮箱、省份、城市、地址、IP等。
S4、使测试平台以当前创建的测试场景对测试步骤进行自动测试,以获取测试结果,测试结果至少包括断言结果。
测试用例配置好后,点击运行按钮,测试平台则会根据前面步骤中配置好的环境进行自动测试,测试结束后则显示出测试结果展示界面,其中包括了每个接口的断言结果、测试的总耗时、平均接口请求耗时、循环数等等。测试人员还可以展开接口的测试详情,查看接口测试中的请求值是否正常,还可以对接口进一步进行调试。
进一步的,还可以将测试结果从测试平台导出,用于后续对接口的调整等。
本申请的实施例所提供的接口的测试方法,通过具有自动接口测试能力的测试平台,对接口进行自动测试,只需要导入接口文档以及简单的参数调整,无需编写复杂的测试脚本,提高了接口的测试效率,降低了测试成本。
实施例二
在本申请的一个实施例中,在测试平台中创建接口或接口用例后,还可以针对测试平台创建出的任一接口或接口用例, 对该接口或接口用例的目标请求参数进行调整,其中,请求参数为测试平台自动生成的。
对该接口或接口用例的目标请求参数进行调整的步骤具体包括:
点击接口或接口用例对应的操作区域,展开接口详情界面;
在接口详情界面的请求参数标签页中与目标请求参数对应的参数值编辑框中输入预设返回值,或在接口详情界面的请求参数标签页中与目标请求参数对应的参数值编辑框中添加虚拟对象,虚拟对象用于在接口运行时生成与目标请求参数的格式匹配的返回值。
测试人员可以打开接口或接口用例的详情界面并选择文档标签页,在请求参数栏中填写请求参数、返回响应等等。
在一种情况中,可以由测试人员手动输入。在另一中情况中,可以使用Apifox的Mock功能,快速生成。例如,reg_time字段,返回值可以是当前的时间,则可以选择虚拟对象为“@now( “mintue”)”,则在接口运行时,reg_time字段的返回值则是实时的时间,并具体到分钟,如“14:16”。这里的虚拟对象为Apifox提供的数据模拟工具,可以自动生成格式匹配的参数。这样,可以进一步减少测试过程代码的编写工作量。
实施例三
在开发过程中,由于待测试模块会出现增加、修改等情况,为了实时发现待测试模块可能存在的问题,还可以使用Apifox的持续集成功能,持续的更新待测试模块的接口,并进行自动测试。
具体的,可以在在CI/CD标签页中生成定时自动测试任务,使测试平台根据定时自动测试任务所指示的时间间隔,对测试步骤进行自动测试,测试平台将每次自动测试的测试结果发送至自动测试任务所指示的邮箱地址。
测试人员可以通过测试平台测试场景的详情界面中,选择CI/CD标签页,新建定时自动测试任务,并配置对应的运行环境、循环次数等数据。还可以选择工具类型(如Jenkins、 Github Actions或Apifox CLI),由测试平台自动生成自动测试任务对应的执行脚本。在每轮循环结束后,测试平台还可以以邮件的形式将测试结果反馈给测试人员,进而使测试人员对存在问题的接口进行调整。
在新建定时自动测试任务时,可以在Linux系统上安装Jenkins持续集成工具,并在持续集成工具中安装Node.js环境,Node.js的版本需要大于等于v14.20.1,最后安装运行CLI命令所需的Apifox-CLI环境。
然后在Apifox接口管理工具的自动化测试模块中,选择需要持续集成测试的场景,点击CI/CD标签页,新建Jenkins持续集成平台,保存后自动生成构建配置的代码。将构建持续集成配置的代码复制到Jenkins工具中的流水线配置中。
在Jenkins工具,配置定时执行接口自动化测试脚本的触发器。在构建触发器中,勾选构建周期性地触发器选项,通过Cron表达式,设置定时触发。
在Jenkins工具配置邮件通知,创建通用的报告模板,在持续集成流程执行完毕后,能够自动将测试报告通过电子邮件发送给项目负责人,以便及时通知和跟进。
收到接口自动化测试完成的通知之后,需要比对实际测试结果与预期结果的一致性,并依据性能基准检测接口的响应时间以评估系统表现。确保每项测试目的明确、有效,对提高产品质量具有实际价值。
实施例四
为了包括软件的安全行,实际应用中,部分接口功能需要加密,因此在对接口进行测试时,也需要对应的进行加密传输。
即在对测试步骤进行自动测试的步骤之前,还包括为第三目标接口配置加密任务,使第三目标接口在测试过程中对与其他接口的通讯字段进行加密。
这里的第三目标接口为需要加密传输的接口。在Apifox中配置加密任务的步骤,具体包括:
定义接口数据,在接口的body参数中定义需要加密的字段,例如,可以通过以下方式为每一第三目标接口配置加密任务:在该第三目标接口的body操作标签页中,配置需要加密的字段。在该第三目标接口的前置操作标签页中,输入用于对字段加密的加密脚本。
测试人员可以在登录接口的前置操作面板中,编写用于加密的脚本。这个脚本将会在发送请求之前执行,对数据进行加密处理。例如,可以选择AES加密方式,并在脚本中实现相应的加密逻辑。执行脚本后,检查加密结果是否符合预期,确保加密后的数据能够正确通过登录验证。
以下是通过AES方式加密登录密码字段的代码示例:
JavaScript// 导入必要的库
const CryptoJS = require('crypto-js');// 定义加密函数
function encryptPassword(password) { // 设置密钥和初始向量(IV)
const key = CryptoJS.enc.Utf8.parse('your_key_here');
const iv = CryptoJS.enc.Utf8.parse('your_iv_here'); // 使用AES加密算法进行加密
const encrypted = CryptoJS.AES.encrypt(password, key, { iv: iv,mode:CryptoJS.mode.CBC,//指定加密模式为CBC(Cipher Block Chaining
padding: CryptoJS.pad.Pkcs7//指定填充方式为PKCS7
});// 返回加密后的密码
return encrypted.toString();
}// 调用加密函数进行加密
const originalPassword = 'your_original_password';//存储原始密码
const encryptedPassword = encryptPassword(originalPassword);//获取加密后的密码
console.log('Encrypted password:', encryptedPassword).
实施例五
由于软件开发过程中,往往需要多个测试人员团队合作,这里可以通过Apifox的团队管理和迭代分支功能。
具体的,可以针对当前测试项目,设置管理员和普通成员,管理员则可以对各普通成员进行权限分配。
普通成员对待测试模块的不同功能进行测试,普通成员根据自己负责的待测试模块重新创建新的分支进行接口调试与测试,与其他普通成员数据互不干扰,有效地提高了整个接口测试流程的效率。
在新分支上测试通过后,可将其合并到主分支,避免更新过程中的潜在风险,保障了各项功能的顺利集成,确保软件各模块的接口功能的正确性。
实施例六
参阅图2,图2为本申请一实施例提供的一种接口的测试装置的结构示意图。如图2中所示,本申请实施例提供的一种接口的测试装置200的结构示意图,包括:
导入模块210,用于将构成待测试模块的接口所对应的至少一个接口文档导入测试平台中,在测试平台中加载接口以及接口对应的接口用例;
步骤配置模块220,用于在测试平台的测试场景界面中编辑测试场景信息,为测试场景添加测试步骤,测试步骤包括第一目标接口和第一目标接口用例,并在后置操作标签页中为第二目标接口或第二目标接口用例配置断言,其中,第一目标接口包括第二目标接口,第一目标接口用例包括第二目标接口用例;
环境配置模块230,用于基于测试场景信息所指示的根据预设环境类型,在测试环境管理界面中,为测试环境配置环境变量参数;
测试模块240,用于使测试平台以当前创建的测试场景对测试步骤进行自动测试,以获取测试结果,测试结果至少包括断言结果。
如图3所示,图3为本申请实施例提供的另一种接口的测试装置的结构示意图。
优选的,还包括持续集成模块250,用于在CI/CD标签页中生成定时自动测试任务,使测试平台根据定时自动测试任务所指示的时间间隔,对测试步骤进行自动测试,测试平台将每次自动测试的测试结果发送至自动测试任务所指示的邮箱地址。
优选的,导入模块210具体用于在导入数据标签页中,选择与接口文档的类型对应的类型按钮;将接口文档的文件拖拽至导入数据标签页中的导入区域,并点击提交按钮;获取测试平台根据接口文档获取出的接口列表;在接口列表中选择出待测试的接口,以使测试平台中加载出对应的接口和接口用例。
优选的,还包括调参模块260,用于针对测试平台创建出的任一接口或接口用例,对该接口或接口用例的目标请求参数进行调整,其中,请求参数为测试平台自动生成的;对该接口或接口用例的目标请求参数进行调整的步骤具体包括:点击接口或接口用例对应的操作区域,展开接口详情界面;在接口详情界面的请求参数标签页中与目标请求参数对应的参数值编辑框中输入预设返回值,或在接口详情界面的请求参数标签页中与目标请求参数对应的参数值编辑框中添加虚拟对象,虚拟对象用于在接口运行时生成与目标请求参数的格式匹配的返回值。
优选的,针对任一第二目标接口或第二目标接口用例,步骤配置模块220通过以下方式配置断言:在该第二目标接口或该第二目标接口用例对应的后置操作标签页中,添加断言任务项;在断言任务项的配置界面中,分别输入对应的断言名称、断言对象、路径表达式以及断言条件。
优选的,还包括加密模块270,用于在对测试步骤进行自动测试的步骤之前,为第三目标接口配置加密任务,使第三目标接口在测试过程中对与其他接口的通讯字段进行加密。
优选的,加密模块270通过以下方式为每一第三目标接口配置加密任务:在该第三目标接口的body操作标签页中,配置需要加密的字段;在该第三目标接口的前置操作标签页中,输入用于对字段加密的加密脚本。
请参阅图4,图4为本申请实施例所提供的一种电子设备的结构示意图。如图4中所示,所述电子设备400包括处理器410、存储器420和总线430。
所述存储器420存储有所述处理器410可执行的机器可读指令,当电子设备400运行时,所述处理器410与所述存储器420之间通过总线430通信,所述机器可读指令被所述处理器410执行时,可以执行如上述方法实施例中的接口的测试方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述方法实施例中的接口的测试方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应所述理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者所述技术方案的部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种接口的测试方法,其特征在于,所述方法包括:
将构成待测试模块的接口所对应的至少一个接口文档导入测试平台中,在测试平台中加载所述接口以及接口对应的接口用例;
在测试平台的测试场景界面中编辑测试场景信息,为测试场景添加测试步骤,所述测试步骤包括第一目标接口和第一目标接口用例,并在后置操作标签页中为第二目标接口或第二目标接口用例配置断言,其中,第一目标接口包括第二目标接口,第一目标接口用例包括第二目标接口用例;
基于测试场景信息所指示的预设环境类型,在测试环境管理界面中,为测试环境配置环境变量参数;
使测试平台以当前创建的测试场景对所述测试步骤进行自动测试,以获取测试结果,所述测试结果至少包括断言结果。
2.根据权利要求1所述的方法,其特征在于,还包括:
在CI/CD标签页中生成定时自动测试任务,使测试平台根据所述定时自动测试任务所指示的时间间隔,对所述测试步骤进行自动测试,测试平台将每次自动测试的测试结果发送至所述自动测试任务所指示的邮箱地址。
3.根据权利要求1所述的方法,其特征在于,所述将构成待测试模块的接口所对应的至少一个接口文档导入测试平台中,在测试平台中加载所述接口以及接口对应的接口用例的步骤,具体包括:
在导入数据标签页中,选择与接口文档的类型对应的类型按钮;
将接口文档的文件拖拽至导入数据标签页中的导入区域,并点击提交按钮;
获取测试平台根据所述接口文档获取出的接口列表;
在所述接口列表中选择出待测试的接口,以使测试平台中加载出对应的接口和接口用例。
4.根据权利要求3所述的方法,其特征在于,针对测试平台创建出的任一接口或接口用例,还包括:
对该接口或接口用例的目标请求参数进行调整,其中,请求参数为测试平台自动生成的;
所述对该接口或接口用例的目标请求参数进行调整的步骤具体包括:
点击接口或接口用例对应的操作区域,展开接口详情界面;
在接口详情界面的请求参数标签页中与目标请求参数对应的参数值编辑框中输入预设返回值,或在接口详情界面的请求参数标签页中与目标请求参数对应的参数值编辑框中添加虚拟对象,所述虚拟对象用于在接口运行时生成与目标请求参数的格式匹配的返回值。
5.根据权利要求1所述的方法,其特征在于,针对任一第二目标接口或第二目标接口用例,通过以下方式配置断言:
在该第二目标接口或该第二目标接口用例对应的后置操作标签页中,添加断言任务项;
在所述断言任务项的配置界面中,分别输入对应的断言名称、断言对象、路径表达式以及断言条件。
6.根据权利要求1所述的方法,其特征在于,在对所述测试步骤进行自动测试的步骤之前,还包括:
为第三目标接口配置加密任务,使第三目标接口在测试过程中对与其他接口的通讯字段进行加密。
7.根据权利要求1所述的方法,其特征在于,通过以下方式为每一第三目标接口配置加密任务:
在该第三目标接口的body操作标签页中,配置需要加密的字段;
在该第三目标接口的前置操作标签页中,输入用于对字段加密的加密脚本。
8.一种接口的测试装置,其特征在于,所述装置包括:
导入模块,用于将构成待测试模块的接口所对应的至少一个接口文档导入测试平台中,在测试平台中加载所述接口以及接口对应的接口用例;
步骤配置模块,用于在测试平台的测试场景界面中编辑测试场景信息,为测试场景添加测试步骤,所述测试步骤包括第一目标接口和第一目标接口用例,并在后置操作标签页中为第二目标接口或第二目标接口用例配置断言,其中,第一目标接口包括第二目标接口,第一目标接口用例包括第二目标接口用例;
环境配置模块,用于基于测试场景信息所指示的根据预设环境类型,在测试环境管理界面中,为测试环境配置环境变量参数;
测试模块,用于使测试平台以当前创建的测试场景对所述测试步骤进行自动测试,以获取测试结果,所述测试结果至少包括断言结果。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至7任一所述接口的测试方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述接口的测试方法的步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410473013.4A CN118093435A (zh) | 2024-04-19 | 2024-04-19 | 一种接口的测试方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410473013.4A CN118093435A (zh) | 2024-04-19 | 2024-04-19 | 一种接口的测试方法、装置、电子设备及存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN118093435A true CN118093435A (zh) | 2024-05-28 |
Family
ID=91142258
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202410473013.4A Pending CN118093435A (zh) | 2024-04-19 | 2024-04-19 | 一种接口的测试方法、装置、电子设备及存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN118093435A (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120123216A (zh) * | 2025-02-21 | 2025-06-10 | 广东工业大学 | 一种用于Web自动化开发及测试的集成系统 |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113176968A (zh) * | 2021-05-25 | 2021-07-27 | 平安国际智慧城市科技股份有限公司 | 基于接口参数分类的安全测试方法、装置及存储介质 |
| CN115061912A (zh) * | 2022-06-17 | 2022-09-16 | 平安银行股份有限公司 | 一种测试用例的生成与测试方法、系统及介质 |
| CN116010287A (zh) * | 2023-03-06 | 2023-04-25 | 上海中通吉网络技术有限公司 | 一种自动生成接口测试用例的方法 |
| US20230153229A1 (en) * | 2020-11-16 | 2023-05-18 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method of testing performance, electronic device, and computer-readable medium |
| CN116383055A (zh) * | 2023-03-30 | 2023-07-04 | 中国工商银行股份有限公司 | 金融场景的测试方法和装置、处理器及电子设备 |
| CN116955192A (zh) * | 2023-07-28 | 2023-10-27 | 同盾科技有限公司 | 接口测试数据的管理、接口测试方法及装置、存储介质 |
| CN117687920A (zh) * | 2023-12-14 | 2024-03-12 | 天翼电子商务有限公司 | 接口的测试方法及装置、存储介质和电子设备 |
-
2024
- 2024-04-19 CN CN202410473013.4A patent/CN118093435A/zh active Pending
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20230153229A1 (en) * | 2020-11-16 | 2023-05-18 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method of testing performance, electronic device, and computer-readable medium |
| CN113176968A (zh) * | 2021-05-25 | 2021-07-27 | 平安国际智慧城市科技股份有限公司 | 基于接口参数分类的安全测试方法、装置及存储介质 |
| CN115061912A (zh) * | 2022-06-17 | 2022-09-16 | 平安银行股份有限公司 | 一种测试用例的生成与测试方法、系统及介质 |
| CN116010287A (zh) * | 2023-03-06 | 2023-04-25 | 上海中通吉网络技术有限公司 | 一种自动生成接口测试用例的方法 |
| CN116383055A (zh) * | 2023-03-30 | 2023-07-04 | 中国工商银行股份有限公司 | 金融场景的测试方法和装置、处理器及电子设备 |
| CN116955192A (zh) * | 2023-07-28 | 2023-10-27 | 同盾科技有限公司 | 接口测试数据的管理、接口测试方法及装置、存储介质 |
| CN117687920A (zh) * | 2023-12-14 | 2024-03-12 | 天翼电子商务有限公司 | 接口的测试方法及装置、存储介质和电子设备 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120123216A (zh) * | 2025-02-21 | 2025-06-10 | 广东工业大学 | 一种用于Web自动化开发及测试的集成系统 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10705942B1 (en) | Simulated testing of API | |
| US12153512B2 (en) | System and method for automated intelligent mobile application testing | |
| US20200034281A1 (en) | System and method for automated intelligent mobile application testing | |
| CN103984626B (zh) | 一种生成测试用例脚本的方法及装置 | |
| US20140081615A1 (en) | Virtual systems testing | |
| CA3079948C (en) | System and method for integrating cloud applications into a cloud service broker platform using an automated, universal connector package | |
| CN111538659B (zh) | 业务场景的接口测试方法、系统、电子设备和存储介质 | |
| KR20170015968A (ko) | 모바일 장치들의 원격 구성을 허용하기 위해 모바일 장치들 상에 설치되는 고속 어플리케이션 | |
| CN110678850B (zh) | 自动化装置测试分类系统和技术 | |
| US20230333965A1 (en) | System and Method for Testing Applications | |
| CN112527252A (zh) | 小程序管理方法及装置、小程序平台、电子设备、介质 | |
| CN111881051A (zh) | 测试用例的生成方法、装置、终端及存储介质 | |
| CN109739704A (zh) | 一种接口测试方法、服务端及计算机可读存储介质 | |
| CN105472015A (zh) | 云平台接入第三方应用的方法和装置 | |
| CN118093435A (zh) | 一种接口的测试方法、装置、电子设备及存储介质 | |
| WO2024001594A1 (zh) | 算子开发、处理方法、装置、电子设备、系统及存储介质 | |
| US11481194B1 (en) | Replacing remote device functions | |
| CN114189553B (zh) | 一种流量回放方法、系统及计算设备 | |
| CN111858302B (zh) | 小程序的测试方法、装置、电子设备及存储介质 | |
| CN110309062A (zh) | 用例生成方法、装置、电子设备及存储介质 | |
| US11144440B1 (en) | Implementing device-specific libraries for validation testing | |
| Demmel et al. | Data synthesis is going mobile—on community-driven dataset generation for android devices | |
| CN114371866A (zh) | 业务系统的版本重构测试方法、装置和设备 | |
| TW202445358A (zh) | 提供應用程式之測試設定環境之電子裝置及其方法 | |
| US10592227B2 (en) | Versioned intelligent offline execution of software configuration automation |
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 |