CN117033234A - 一种接口测试方法、装置、设备及介质 - Google Patents
一种接口测试方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117033234A CN117033234A CN202311076484.3A CN202311076484A CN117033234A CN 117033234 A CN117033234 A CN 117033234A CN 202311076484 A CN202311076484 A CN 202311076484A CN 117033234 A CN117033234 A CN 117033234A
- Authority
- CN
- China
- Prior art keywords
- test case
- test
- interface
- case
- target
- 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 369
- 238000000034 method Methods 0.000 claims abstract description 44
- 238000004590 computer program Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 14
- 238000010998 test method Methods 0.000 abstract description 7
- 238000004891 communication Methods 0.000 description 8
- 238000010276 construction Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
技术领域
本发明涉及接口测试技术领域,尤其涉及一种接口测试方法、装置、设备及介质。
背景技术
目前的接口测试方法主要有手工测试和自动化测试两种方式,其中手工测试常使用工具来进行单接口的测试验证,自动化测试根据测试用例来编写代码脚本,通过对用例的解析和编码,从而能实现自动执行接口用例。但现有的以上测试方法测试效果差、灵活性低。
发明内容
本发明提供了一种接口测试方法、装置、设备及介质,以提高接口测试的测试效率和灵活性。
根据本发明的一方面,提供了一种接口测试方法,包括:
响应于接口用例执行任务,从预先构建的测试用例集合中读取至少一个目标测试用例;
执行所述目标测试用例,确定所述目标测试用例的测试用例测试结果;
根据各所述目标测试用例的测试用例测试结果确定接口测试结果。
可选的,在上述方案的基础上,所述测试用例集合的构建,包括:
获取接口文档数据,解析所述接口文档数据得到所述接口文档数据的请求关联参数以及校验规则;
基于所述请求关联参数和所述校验规则生成多个测试用例,并将各所述测试用例填充至测试用例模板中,得到构建好的测试用例集合。
可选的,在上述方案的基础上,所述解析所述接口文档数据得到所述接口文档数据的请求参数以及校验规则,包括:
解析所述接口文档数据得到所述接口文档数据的请求关联参数;
基于所述请求关联参数的字段类型确定所述校验规则。
可选的,在上述方案的基础上,所述请求关联参数包括请求方法、url、请求头、请求参数、参数类型、响应、错误码中的至少一项。
可选的,在上述方案的基础上,所述执行所述目标测试用例,确定所述目标测试用例的测试用例测试结果,包括:
执行所述目标测试用例,得到所述目标测试用例的执行结果;
确定所述目标测试用例的预期值,将所述执行结果与所述预期值进行比对,得到所述测试用例测试结果。
可选的,在上述方案的基础上,所述执行所述目标测试用例,得到所述目标测试用例的执行结果,包括:
获取全局配置文件,基于所述全局配置文件执行所述目标测试用例,得到所述执行结果,其中,所述全局配置文件包括数据库连接配置文件、自定义结果配置文件、失败重试配置文件中的至少一项。
可选的,在上述方案的基础上,还包括:
基于所述接口测试结果生成接口测试文件,将所述接口测试文件发送至至少一个展示平台。
根据本发明的另一方面,提供了一种接口测试装置,包括:
测试用例读取模块,用于响应于接口用例执行任务,从预先构建的测试用例集合中读取至少一个目标测试用例;
用例测试结果获取模块,用于执行所述目标测试用例,确定所述目标测试用例的测试用例测试结果;
接口测试结果确定模块,用于根据各所述目标测试用例的测试用例测试结果确定接口测试结果。
根据本发明的另一方面,提供了一种电子设备,电子设备包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器能够执行本发明任一实施例的接口测试方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使处理器执行时实现本发明任一实施例的接口测试方法。
本发明实施例的技术方案,通过响应于接口用例执行任务,从预先构建的测试用例集合中读取至少一个目标测试用例;执行所述目标测试用例,确定所述目标测试用例的测试用例测试结果;根据各所述目标测试用例的测试用例测试结果确定接口测试结果,通过自动执行测试用例集合中的目标测试用例,以进行接口测试,提高了接口测试的测试效率和灵活性。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种接口测试方法的流程示意图;
图2是本发明实施例二提供的一种全自动执行接口测试技术架构的结构示意图;
图3是本发明实施例三提供的一种接口测试装置的结构示意图;
图4是本发明实施例四提供的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1是本发明实施例一提供的一种接口测试方法的流程示意图,本实施例可适用于对接口进行测试时的情况,该方法可以由接口测试装置来执行,该接口测试装置可以采用硬件和/或软件的形式实现,该接口测试装置可配置于电子设备中。如图1所示,该方法包括:
S110、响应于接口用例执行任务,从预先构建的测试用例集合中读取至少一个目标测试用例。
在本实施例中,为了实现接口测试的自动化执行,通过预先构建测试用例集合,循环读取测试用例集合中的测试用例作为目标测试用例,进行目标测试用例的执行,直到执行完所有测试用例后,得到接口测试的测试结果。基于此,在检测到接口用例执行任务时,从预先构建的测试用例结合中获取任一测试用例作为目标测试用例。
可选的,接口用例执行任务可以通过时间条件和/或代码条件触发,如设定触发时间,在达到设定的触发时间时,触发接口用例执行任务,进行目标测试用例的读取,和/或设定程序代码条件,当运行程序符合设定程序代码条件时,触发接口用例执行任务,进行目标测试用例的读取。
在一个实施方式中,接口用例执行任务的自动执行可以借助jenkins平台实现,通过在Jenkins中新建任务,配置代码仓库等信息,使用其中提供的多种触发测试运行的方式,如:定时、代码提交等方法,触发程序代码的自动运行,即触发接口用例执行任务。
在上述方案的基础上,测试用例集合可以通过人工构建的方式构建,也可以自动构建。人工构建可以为人工分析接口文档后编写多个测试用例,构建测试用例集合,但人工构建的方式时间长且效率低下,后续接口变动需要人工维护和优化测试用例,维护的成本高。为解决上述技术问题,本实施例提供了一种自动构建测试用例集合的方法。
在本发明的一种实施方式中,所述测试用例集合的构建,包括:
获取接口文档数据,解析所述接口文档数据得到所述接口文档数据的请求关联参数以及校验规则;
基于所述请求关联参数和所述校验规则生成多个测试用例,并将各所述测试用例填充至测试用例模板中,得到构建好的测试用例集合。
同上述实施例,同样可以借助jenkins平台进行测试用例集合的构建。通过在jenkins平台创建自动生成用例任务,当开发代码提交到gitlab后主动触发任务的执行,执行代码根据接口文档数据进行解析,将接口文档数据转换成设定数据结构,基于设定数据结构的数据获取到接口的请求关联参数,同时推导出校验规则,如类型校验、必填校验、值范围校验等。然后将获取的请求关联参数通过编码实现自动组合参数的值与组合,包括全参数化遍历组合、关键参数遍历组合、数值参数边界值生成、特定业务场景规则等方法,形成测试用例,再将测试用例填充至测试用例模板中,得到测试用例集合。其中,全参数化遍历组合是将所有参数全部进行参数化设置,通过排列组合遍历参数的不同取值,实现参数空间的全遍历;关键参数遍历组合只识别接口的关键参数,只遍历设置关键参数的不同值,其他参数使用默认常量值;数据范围边界值生成,对数值类型参数,生成其定义范围的边界值,如最小值、最大值、0、极大极小值等,覆盖范围切分场景;特定业务规则组合,根据业务规则识别相关参数组合,如参数A设置a时,参数B的取值范围会改变,生成参数组合用例覆盖业务规则。
可选的,可以借助现有库实现数据结构的转换,如可以使用python中的json库、xml库等将数据转换成python字典数据结构,获取到相关信息作为请求关联参数。其中,所述请求关联参数可以包括请求方法、url、请求头、请求参数、参数类型、响应、错误码中的至少一项。
可选的,测试用例模板可以基于Excel构建,结合openxyl库将测试用例数据填充到Excel测试用例模板中,形成完整的测试用例集合。
在一个实施方式中,所述解析所述接口文档数据得到所述接口文档数据的请求参数以及校验规则,包括:
解析所述接口文档数据得到所述接口文档数据的请求关联参数;
基于所述请求关联参数的字段类型确定所述校验规则。
示例性的,可通过遍历上述获取到的请求关联参数的字段和接口返回的数据进行逐个字段的分析,以根据字段的类型确定校验规则。比如:获取每个字段的类型,比如string、integer等,类型定义决定了基本校验规则;查看字段定义是否包含required标识,确定必填字段需要非空校验;枚举类型会有enum定义值的集合,需要校验是否在这个集合内;数字、字符串等可能有max/min等范围限制,确定需要生成对应范围比较的校验;string类型可能有pattern定义正则,需要生成正则匹配校验等。
自动生成接口的测试用例可自动生成及维护,不需要人工干预,可以减少测试人员的工作量,降低测试成本。
S120、执行所述目标测试用例,确定所述目标测试用例的测试用例测试结果。
获得至少一个目标测试用例后,可以顺次执行获得的目标测试用例,或同步执行获得的目标测试用例,在此不做限定。
目标测试用例的执行可以基于openxyl库、request库等实现。示例性的,可以使用openxyl库循环读取Excel测试用例数据(即测试用例集合),通过遍历数据进行数据的数据关联参数的整合,再获取响应信息,以确定目标测试用例的测试用例执行结果。
在本发明的一种实施方式中,所述执行所述目标测试用例,确定所述目标测试用例的测试用例测试结果,包括:
执行所述目标测试用例,得到所述目标测试用例的执行结果;
确定所述目标测试用例的预期值,将所述执行结果与所述预期值进行比对,得到所述测试用例测试结果。
可以理解的是,测试用例集合中存储有目标测试用例和目标测试用例的预期值,基于此,可以通过执行目标测试用例,得到执行结果,再将执行结果与预期值进行比对,得到所述测试用例测试结果。
一个具体示例中,使用openxyl库循环读取Excel测试用例数据,通过遍历数据进行数据的请求方法、url、请求头、预期值等整合,再通过request库进行HTTP请求以获取响应信息(即执行结果),此时程序通过响应信息和用例的预期值进行断言对比得到测试结果,最终将测试结果和断言详情写入到Excel表中,完成基本完整的测试全流程,
在上述方案的基础上,所述执行所述目标测试用例,得到所述目标测试用例的执行结果,包括:
获取全局配置文件,基于所述全局配置文件执行所述目标测试用例,得到所述执行结果,其中,所述全局配置文件包括数据库连接配置文件、自定义结果配置文件、失败重试配置文件中的至少一项。
为了进一步保证测试结果的准确性,可以灵活定义失败次数、测试结果、数据库关联等信息。例如,数据库连接配置,通过配置文件设置数据库连接字符串、账号密码,可在测试框架初始化时读取配置并建立连接;自定义结果配置,提供接口判断成功或失败的自定义配置,如设置成功的状态码、响应时间阈值等,实现自定义的成功判断逻辑;失败重试配置,在配置文件中设置失败重试次数,请求失败时将剩余重试次数减一,递归调用自身实现指定次数重试;测试用例过滤,根据标签或名称筛选执行的测试用例,实现不同场景的用例执行等。
在进行目标测试用例的执行时,可以结合全局配置文件,进行目标测试用力的执行。以数据库连接配置为例,可以通过数据库连接配置获取数据库中的数据信息,以自定义结果配置为例,可以通过自定义配置确定判断结果,以失败重试配置为例,可以通过失败重试配置确定目标测试用例的执行失败次数。
S130、根据各所述目标测试用例的测试用例测试结果确定接口测试结果。
对所有目标测试用例执行完成,得到所有目标测试用例的测试用例测试结果后,整合所有测试用例测试结果,得到接口测试结果。如在测试完成后将测试数据和测试用例测试结果进行整合,将测试概要、成功用例数、失败用例数等统计信息构造成标记语言或富文本,生成接口测试结果。
在上述方案的基础上,还包括:
基于所述接口测试结果生成接口测试文件,将所述接口测试文件发送至至少一个展示平台。
为了实现测试结果可以在多平台进行反馈的反馈机制,本实施例提供了一种接口测试结果展示方法,通过将接口测试结果生成接口测试文件,将接口测试文件通过展示平台关联的渠道发送至展示平台。
示例性的,可以将测试结果推送至邮箱或其他交互APP展示。如在测试框架中导入email模块,过SMTP协议连接邮箱服务器,构建邮件内容,以测试报告作为附件发送;使用APP开发者工具,获取webhook,测试脚本末尾添加发送消息的代码,调用APP的webhook API发送测试结果消息等。本实施例提供的方法可以进行多平台多方式额整合显示报告,解决不同场景下报告呈现需求。
本发明实施例的技术方案,通过响应于接口用例执行任务,从预先构建的测试用例集合中读取至少一个目标测试用例;执行所述目标测试用例,确定所述目标测试用例的测试用例测试结果;根据各所述目标测试用例的测试用例测试结果确定接口测试结果,通过自动执行测试用例集合中的目标测试用例,以进行接口测试,提高了接口测试的测试效率和灵活性。
实施例二
图2是本发明实施例二提供的一种全自动执行接口测试技术架构的结构示意图,本实施例在上述实施例的基础上,提供了一种优选实施例。如图2所示,示意性的示出了了一种全自动执行接口测试技术架构。
整体来说将程序集成到Jenkins平台,通过自行开发的解析器自动对接口文档进行解析,获取相关信息后进行组合生成测试数据输入到Excel测试用例模板中,形成完整的测试用例集合。当执行用例程序运行时,将从该Excel用例表读取出每一行用例参数通过执行代码进行请求,依次执行直到所有用例数据均执行完毕后产生测试结果,最后将测试的结果发送到对应的展示平台上,通知到相关人员。
整体上执行的主要分两部分任务,具体详细描述如下:
任务一:测试用例的自动生成和维护,主要包括
1、在jenkins平台创建自动生成用例任务,当开发代码提交到gitlab后主动触发任务的执行
2、执行代码根据接口文档进行解析,使用python中的json库、xml库等将数据转换成python字典数据结构,获取到接口的请求方法、url、请求头、请求参数、参数类型、响应、错误码等相关信息,同时推导出各种校验规则,包括类型校验、必填校验、值范围校验等
3、将获取的接口参数通过编码实现自动组合参数的值与组合,包括全参数化遍历组合、关键参数遍历组合、数值参数边界值生成、特定业务场景规则等方法,形成测试用例数据,
4、结合openxyl库将测试用例数据填充到Excel测试用例模板中,形成完整的测试用例集合
接口用例自动生成实现的技术手段:
1、利用多个解析库进行文档的解析,包括Swagger、json、HTML、XML的组合提取,接口的请求方法、url、请求头、请求参数、参数类型、响应、错误码等相关信息。
2、可通过遍历上述获取到的字段和接口返回的数据进行逐个字段的分析,确定校验规则。
3、参数的遍历组合可组合进行。
任务二:自动执行接口用例进行测试,主要包括:
1、在jenkins平台创建自动执行用例的任务,按周期定时执行任务。
2、使用openxyl库循环读取Excel测试用例数据,通过遍历数据进行数据的请求方法、url、请求头、预期值等整合,再通过request库进行HTTP请求以获取响应信息,此时程序通过响应信息和用例的断言预期值进行断言对比得到测试结果,最终将测试结果和断言详情写入到Excel表中,完成基本完整的测试全流程。
3、通过配置文件自定义失败重跑次数、自定义测试结果等灵活机制则是在第3步骤后,读取全局配置文件,包括数据库连接配置、自定义结果配置、失败重试配置等。
4、涉及数据库的查询匹配等操作,可通过Excel表中的目标sql语句进行连接查询,结合在断言对比结果,精准判断数据的准确性。
5、需要将测试结果进行多平台反馈时,将所有测试数据保存到文件,包括测试时的请求、响应数据,失败结果的日志、失败错误码等,将数据整合后在步骤11发送到各平台中。
全自动执行接口测试实现的技术手段:
1、自动执行接口使用的是jenkins平台进行持续集成,通过在Jenkins中新建任务,配置代码仓库等信息,使用其中提供的多种触发测试运行的方式,如:定时、代码提交等方法,触发程序代码的自动运行
2、通过配置文件自定义失败重跑次数、自定义测试结果可实现灵活定义。
3、在测试完成后将测试数据和结果进行整合,进行全流程平台的测试结果反馈。
本实施例的技术方案,1、接口测试用例可自动生成及维护,不需要人工干预,可以减少测试人员的工作量,降低测试成本,可以全自动执行接口测试可以快速地执行测试用例并生成测试报告,大大提高了测试效率,能灵活定义失败次数、测试结果等,保证测试结果的准确性,实现了多平台多方式整合显示报告,解决不同了场景下报告呈现需求。
实施例三
图3是本发明实施例三提供的一种接口测试装置的结构示意图。如图3所示,该装置包括:
测试用例读取模块310,用于响应于接口用例执行任务,从预先构建的测试用例集合中读取至少一个目标测试用例;
用例测试结果获取模块320,用于执行所述目标测试用例,确定所述目标测试用例的测试用例测试结果;
接口测试结果确定模块330,用于根据各所述目标测试用例的测试用例测试结果确定接口测试结果。
本实施例的技术方案,通过响应于接口用例执行任务,从预先构建的测试用例集合中读取至少一个目标测试用例;执行所述目标测试用例,确定所述目标测试用例的测试用例测试结果;根据各所述目标测试用例的测试用例测试结果确定接口测试结果,通过自动执行测试用例集合中的目标测试用例,以进行接口测试,提高了接口测试的测试效率和灵活性。
可选的,在上述方案的基础上,装置还包括测试用例集合构建模块,用于:
获取接口文档数据,解析所述接口文档数据得到所述接口文档数据的请求关联参数以及校验规则;
基于所述请求关联参数和所述校验规则生成多个测试用例,并将各所述测试用例填充至测试用例模板中,得到构建好的测试用例集合。
可选的,在上述方案的基础上,测试用例集合构建模块具体用于:
解析所述接口文档数据得到所述接口文档数据的请求关联参数;
基于所述请求关联参数的字段类型确定所述校验规则。
可选的,在上述方案的基础上,所述请求关联参数包括请求方法、url、请求头、请求参数、参数类型、响应、错误码中的至少一项。
可选的,在上述方案的基础上,用例测试结果获取模块320具体用于:
执行所述目标测试用例,得到所述目标测试用例的执行结果;
确定所述目标测试用例的预期值,将所述执行结果与所述预期值进行比对,得到所述测试用例测试结果。
可选的,在上述方案的基础上,用例测试结果获取模块320具体用于:
获取全局配置文件,基于所述全局配置文件执行所述目标测试用例,得到所述执行结果,其中,所述全局配置文件包括数据库连接配置文件、自定义结果配置文件、失败重试配置文件中的至少一项。
可选的,在上述方案的基础上,装置还包括测试结果展示模块,用于:
基于所述接口测试结果生成接口测试文件,将所述接口测试文件发送至至少一个展示平台。
本发明实施例所提供的接口测试装置可执行本发明任意实施例所提供的接口测试方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4是本发明实施例四提供的一种电子设备的结构示意图。电子设备10旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图4所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如接口测试方法。
在一些实施例中,接口测试方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的接口测试方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行接口测试方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的接口测试方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
实施例五
本发明实施例五还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使处理器执行一种接口测试方法,该方法包括:
响应于接口用例执行任务,从预先构建的测试用例集合中读取至少一个目标测试用例;
执行所述目标测试用例,确定所述目标测试用例的测试用例测试结果;
根据各所述目标测试用例的测试用例测试结果确定接口测试结果。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的***和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种接口测试方法,其特征在于,包括:
响应于接口用例执行任务,从预先构建的测试用例集合中读取至少一个目标测试用例;
执行所述目标测试用例,确定所述目标测试用例的测试用例测试结果;
根据各所述目标测试用例的测试用例测试结果确定接口测试结果。
2.根据权利要求1所述的方法,其特征在于,所述测试用例集合的构建,包括:
获取接口文档数据,解析所述接口文档数据得到所述接口文档数据的请求关联参数以及校验规则;
基于所述请求关联参数和所述校验规则生成多个测试用例,并将各所述测试用例填充至测试用例模板中,得到构建好的测试用例集合。
3.根据权利要求2所述的方法,其特征在于,所述解析所述接口文档数据得到所述接口文档数据的请求参数以及校验规则,包括:
解析所述接口文档数据得到所述接口文档数据的请求关联参数;
基于所述请求关联参数的字段类型确定所述校验规则。
4.根据权利要求2所述的方法,其特征在于,所述请求关联参数包括请求方法、url、请求头、请求参数、参数类型、响应、错误码中的至少一项。
5.根据权利要求1所述的方法,其特征在于,所述执行所述目标测试用例,确定所述目标测试用例的测试用例测试结果,包括:
执行所述目标测试用例,得到所述目标测试用例的执行结果;
确定所述目标测试用例的预期值,将所述执行结果与所述预期值进行比对,得到所述测试用例测试结果。
6.根据权利要求5所述的方法,其特征在于,所述执行所述目标测试用例,得到所述目标测试用例的执行结果,包括:
获取全局配置文件,基于所述全局配置文件执行所述目标测试用例,得到所述执行结果,其中,所述全局配置文件包括数据库连接配置文件、自定义结果配置文件、失败重试配置文件中的至少一项。
7.根据权利要求1所述的方法,其特征在于,还包括:
基于所述接口测试结果生成接口测试文件,将所述接口测试文件发送至至少一个展示平台。
8.一种接口测试装置,其特征在于,包括:
测试用例读取模块,用于响应于接口用例执行任务,从预先构建的测试用例集合中读取至少一个目标测试用例;
用例测试结果获取模块,用于执行所述目标测试用例,确定所述目标测试用例的测试用例测试结果;
接口测试结果确定模块,用于根据各所述目标测试用例的测试用例测试结果确定接口测试结果。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的接口测试方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的接口测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311076484.3A CN117033234A (zh) | 2023-08-24 | 2023-08-24 | 一种接口测试方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311076484.3A CN117033234A (zh) | 2023-08-24 | 2023-08-24 | 一种接口测试方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117033234A true CN117033234A (zh) | 2023-11-10 |
Family
ID=88622662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311076484.3A Pending CN117033234A (zh) | 2023-08-24 | 2023-08-24 | 一种接口测试方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117033234A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134584A (zh) * | 2019-04-12 | 2019-08-16 | 深圳壹账通智能科技有限公司 | 一种接口测试用例的生成方法、装置、存储介质和服务器 |
CN111858376A (zh) * | 2020-07-29 | 2020-10-30 | 平安养老保险股份有限公司 | 请求报文生成方法和接口测试方法 |
CN111949537A (zh) * | 2020-08-14 | 2020-11-17 | 北京锐安科技有限公司 | 接口的测试方法、装置、设备和介质 |
CN112948233A (zh) * | 2020-07-30 | 2021-06-11 | 深圳市明源云链互联网科技有限公司 | 一种接口测试方法、装置、终端设备及介质 |
CN113342679A (zh) * | 2021-06-29 | 2021-09-03 | 汇付天下有限公司 | 接口测试方法及测试装置 |
CN114817024A (zh) * | 2022-04-21 | 2022-07-29 | 深圳市商汤科技有限公司 | 用例生成方法及装置、设备、存储介质 |
CN114816993A (zh) * | 2022-03-22 | 2022-07-29 | 百安居信息技术(上海)有限公司 | 一种全链路接口测试方法、***、介质及电子设备 |
CN115017047A (zh) * | 2022-06-06 | 2022-09-06 | 中邮信息科技(北京)有限公司 | 基于b/s架构的测试方法、***、设备及介质 |
CN116107885A (zh) * | 2023-01-06 | 2023-05-12 | 济南浪潮数据技术有限公司 | 一种接口测试方法、装置、设备、存储介质 |
-
2023
- 2023-08-24 CN CN202311076484.3A patent/CN117033234A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134584A (zh) * | 2019-04-12 | 2019-08-16 | 深圳壹账通智能科技有限公司 | 一种接口测试用例的生成方法、装置、存储介质和服务器 |
CN111858376A (zh) * | 2020-07-29 | 2020-10-30 | 平安养老保险股份有限公司 | 请求报文生成方法和接口测试方法 |
CN112948233A (zh) * | 2020-07-30 | 2021-06-11 | 深圳市明源云链互联网科技有限公司 | 一种接口测试方法、装置、终端设备及介质 |
CN111949537A (zh) * | 2020-08-14 | 2020-11-17 | 北京锐安科技有限公司 | 接口的测试方法、装置、设备和介质 |
CN113342679A (zh) * | 2021-06-29 | 2021-09-03 | 汇付天下有限公司 | 接口测试方法及测试装置 |
CN114816993A (zh) * | 2022-03-22 | 2022-07-29 | 百安居信息技术(上海)有限公司 | 一种全链路接口测试方法、***、介质及电子设备 |
CN114817024A (zh) * | 2022-04-21 | 2022-07-29 | 深圳市商汤科技有限公司 | 用例生成方法及装置、设备、存储介质 |
CN115017047A (zh) * | 2022-06-06 | 2022-09-06 | 中邮信息科技(北京)有限公司 | 基于b/s架构的测试方法、***、设备及介质 |
CN116107885A (zh) * | 2023-01-06 | 2023-05-12 | 济南浪潮数据技术有限公司 | 一种接口测试方法、装置、设备、存储介质 |
Non-Patent Citations (2)
Title |
---|
唐文编著: "《Python自动化测试入门与进阶实战》", 28 February 2021, 北京:机械工业出版社, pages: 213 - 222 * |
柠檬班: "《企业级自动化测试从入门到精通 Python版》", 31 July 2022, 天津:天津科学技术出版社 , pages: 11 - 13 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3859533A2 (en) | Method and apparatus for testing map service, electronic device, storage medium and computer program product | |
JP7289334B2 (ja) | コードをテストするための方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム | |
CN108628748B (zh) | 自动化测试管理方法和自动化测试管理*** | |
CN115599769A (zh) | 一种数据迁移方法、装置、电子设备及存储介质 | |
CN113127357A (zh) | 单元测试方法、装置、设备、存储介质及程序产品 | |
CN108959508B (zh) | Sql数据生成方法及装置 | |
CN116303013A (zh) | 源码分析方法、装置、电子设备及存储介质 | |
CN117033234A (zh) | 一种接口测试方法、装置、设备及介质 | |
CN115934550A (zh) | 一种测试方法、装置、电子设备及存储介质 | |
CN115600038A (zh) | 页面渲染方法、装置、设备及介质 | |
CN115017047A (zh) | 基于b/s架构的测试方法、***、设备及介质 | |
CN114003497A (zh) | 业务***的测试方法、装置、设备及存储介质 | |
CN114238149A (zh) | 账务***的批量测试方法、电子设备及存储介质 | |
CN115361290B (zh) | 配置比对方法、装置、电子设备及存储介质 | |
CN113836291B (zh) | 数据处理方法、装置、设备和存储介质 | |
CN113742225B (zh) | 一种测试数据生成方法、装置、设备及存储介质 | |
CN117493203A (zh) | 一种服务器软件测试方法、装置、设备及存储介质 | |
CN117931155A (zh) | 一种代码生成方法、装置、设备及介质 | |
CN117056222A (zh) | 接口测试文件生成方法、装置、电子设备及存储介质 | |
CN117670236A (zh) | 一种基于移动端的待办流程审批方法、装置、设备及介质 | |
CN116562242A (zh) | 一种数据报表构建方法、装置、电子设备及存储介质 | |
CN116578555A (zh) | 一种数据校验方法、***、电子设备及存储介质 | |
CN114860614A (zh) | 数据处理方法、装置、设备、介质和产品 | |
CN115904984A (zh) | 一种确定测试用例的***、方法、电子设备及存储介质 | |
CN118051439A (zh) | Api自动测试用例生成方法、装置、电子设备及可读介质 |
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 |