自动生成接口用例和代码的测试方法、系统及介质技术方案

技术编号:39329856 阅读:7 留言:0更新日期:2023-11-12 16:06
本发明专利技术属于接口测试技术领域,公开了一种自动生成接口用例和代码的测试方法、系统及介质,导出接口文件,选用YAPI接口管理平台,先调用登录接口,获取cookies值,调用导出接口,将导出的接口文件保存为json格式;从接口文档中自动获取接口信息,包括接口URL、请求方式、请求头、请求参数等;读取导出的接口文档,分别调用封装的获取接口信息的通用方法,自动获取接口信息;调用人工智能接口,根据获取的接口信息,自动生成接口用例,并保存为md格式的文件;调用人工智能接口,根据生成的接口用例,自动生成接口代码,并保存为py格式的文件。本发明专利技术实现了自动化和智能化,大幅度节省了人力成本,提高了工作效率。提高了工作效率。提高了工作效率。

【技术实现步骤摘要】
自动生成接口用例和代码的测试方法、系统及介质


[0001]本专利技术属于接口测试
,尤其涉及一种自动生成接口用例和代码的测试方法、系统、介质及设备。

技术介绍

[0002]目前,传统的接口测试方法,可以借助工具(如Postman)或者编码(例如使用Python语言)来实现。现有技术有根据研发编写的接口文档,获取接口信息,维护至表格,生成接口用例。虽然与传统接口测试方法相比,具有一定的便利性,但在实际应用中仍存在一些痛点。为了解决这些痛点并改善接口测试流程,该专利技术的初衷始于以下目标:在传统接口测试中,通常需要经过以下三个步骤:1、根据接口文档,手动编写接口测试用例。2、根据编写的接口用例,手动进行接口测试代码的编写。3、执行接口测试。
[0003]然而,上述
技术介绍
存在着一些问题,为新方法的提出创造了契机:1、局限的接口信息获取方法:获取接口信息,仅适用于研发编写的接口文档。2、繁重的用例编写:每个接口的用例都需要手动编写,这不仅耗时,还容易产生遗漏或错误。3、繁复的代码编写:每个接口的测试代码也需要手动编写,这在接口数较多时尤其耗时,且可能引入不必要的错误。
[0004]通过上述分析,现有技术存在的问题及缺陷为:1. 局限的接口信息获取方法:缺陷描述:传统方法依赖于研发团队编写的接口文档来获取接口信息。这意味着,如果文档不够详细、不正确或者过时,那么基于这些文档进行的接口测试将会受到影响。
[0005]急需解决的技术问题:如何自动或半自动地从代码、数据库或其他资源中提取接口信息,从而减少对手工维护的接口文档的依赖。
[0006]2. 繁重的用例编写:缺陷描述:传统的方法需要为每个接口手动编写测试用例,这不仅耗时,而且容易导致遗漏或错误,尤其是在面对大量接口或频繁的接口变更时。
[0007]急需解决的技术问题:如何利用自动化技术生成测试用例或者半自动化地辅助生成测试用例,以减少手动工作和潜在的错误。
[0008]3. 繁复的代码编写:缺陷描述:传统的方法要求为每个接口手动编写测试代码。当接口数量很多时,这种方法既耗时又可能导致错误,尤其是当需要考虑各种边界条件和异常场景时。
[0009]急需解决的技术问题:如何实现代码的模块化、通用化或模板化,使得对于大部分接口,都可以复用同样的代码结构和逻辑,只需进行少量的定制。
[0010]从上述分析中,可以看出现有技术在接口测试中存在明显的效率和准确性问题。解决这些问题的关键在于如何利用自动化技术,从而使接口测试更加快速、灵活和可靠。

技术实现思路

[0011]针对现有技术存在的问题,本专利技术提供了一种自动生成接口用例和代码的测试方
法、系统、介质及设备。
[0012]本专利技术是这样实现的,一种自动生成接口用例和代码的测试方法,该方法通过集成YAPI和人工智能技术,实现接口测试的全自动化。具体步骤如下:自动从接口文档中提取关键接口信息;根据提取的关键接口信息,使用人工智能技术智能地生成接口测试用例;根据生成的接口测试用例,使用集成的YAPI自动生成接口测试代码。
[0013]该方法的主要特点是它能够自动化整个接口测试流程,从接口文档的分析,到接口测试用例的生成,再到接口测试代码的生成,实现了接口测试的全自动化。
[0014]进一步,所述自动生成接口用例和代码的测试方法,包括以下步骤:第一步,导出接口文件:1. 调用YAPI接口管理平台的登录接口,提供邮箱和密码作为参数,通过HTTP请求发送这些参数,以获取登录后的cookies值。
[0015]2. 将获得的cookies值存储,以便后续的接口调用可以使用。
[0016]3. 调用YAPI接口管理平台的导出接口,提供项目id、导出数据的方式和接口状态作为参数,通过HTTP请求发送这些参数,以导出接口文件。
[0017]4. 调用封装的写文件方法,将导出的接口文件保存为json格式。
[0018]第二步,自动获取接口信息:1. 调用封装的读文件方法,读取之前导出的接口文件(json格式)。
[0019]2. 解析JSON数据,调用封装的获取接口信息方法,逐个提取接口的信息,包括接口URL、请求方式、请求头、请求参数等。
[0020]其中,获取接口URL方法,囊括了所有的接口请求方式(GET/POST/PUT/DELETE/HEAD/OPTIONS/PATCH)。获取接口请求头方法,分别封装了接口请求头、基本认证+接口请求头、基本认证+接口请求头(需要获取token)多个方法,便于不同接口的调用。获取接口参数方法,囊括了所有的接口参数类型(params/data/json)。
[0021]第三步,自动生成接口用例,并保存为md格式的文件:基于获取到的接口信息,通过调用人工智能接口,生成接口用例。这些用例包括正常情况下的请求,各种可能的错误情况,以及相应的预期结果。将生成的接口用例以Markdown格式进行组织,包括接口说明、请求示例、预期结果等内容。调用封装的写文件方法,将生成的Markdown文档保存为.md格式的文件。
[0022]第四步,自动生成接口代码,并保存为py格式的文件。基于生成的接口用例,调用人工智能接口,生成相应的接口测试代码。对于每个接口用例,自动生成HTTP请求代码,包括设置请求URL、请求方式、请求头、请求参数等。根据预期结果,生成断言代码,用于验证接口的实际响应与预期是否一致。调用封装的写文件方法,将生成的接口测试代码整理并保存为.py格式的文件。
[0023]进一步,所述自动生成接口用例和代码的测试方法,还包括:第一步,调用YAPI导出接口,将接口文件导出,并保存到data目录下,命名为:swaggerApi.json;第二步,读取接口文件,调用封装的接口通用方法,分别获取接口URL、请求方式、请求头、请求参数;
第三步,根据接口信息,调用人工智能接口,自动生成接口用例,并保存到data目录下;第四步,根据接口用例,调用人工智能接口,自动生成接口代码,并保存到data目录下。
[0024]进一步,所述自动生成接口用例和代码的测试方法采用Apifox、GPT、Swagger、Postman或GLM作为接口管理工具。
[0025]进一步,所述自动生成接口用例和代码的测试方法使用其他自然语言处理或机器学习模型的接口。
[0026]进一步,所述自动生成接口用例和代码的测试方法基于语音交互、图形化界面调用;直接从数据库、Excel表格获取数据。
[0027]本专利技术的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述自动生成接口用例和代码的测试方法。
[0028]本专利技术的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述自动生成接口用例和代码的测试方法。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种自动生成接口用例和代码的测试方法,其特征在于,该方法通过集成YAPI和人工智能技术,实现接口测试的全自动化;系统自动从接口文档中提取关键接口信息;根据提取的关键接口信息,使用人工智能技术智能地生成接口测试用例;根据生成的接口测试用例,使用集成的YAPI自动生成接口测试代码。2.如权利要求1所述的自动生成接口用例和代码的测试方法,其特征在于,所述自动生成接口用例和代码的测试方法,包括以下步骤:第一步,导出接口文件,选用YAPI接口管理平台,先调用登录接口,获取cookies值,调用导出接口,将导出的接口文件保存为json格式;第二步,从接口文档中自动获取接口信息,包括接口URL、请求方式、请求头、请求参数;读取导出的接口文档,分别调用封装的获取接口信息的通用方法,自动获取接口信息;第三步,调用人工智能接口,根据获取的接口信息,自动生成接口用例,并保存为md格式的文件;第四步,调用人工智能接口,根据生成的接口用例,自动生成接口代码,并保存为py格式的文件。3.如权利要求2所述的自动生成接口用例和代码的测试方法,其特征在于,第一步的具体实现方法:1) 调用YAPI接口管理平台的登录接口,提供邮箱和密码作为参数,通过HTTP请求发送这些参数,以获取登录后的cookies值;2) 将获得的cookies值存储,后续的接口调用可以使用;3) 调用YAPI接口管理平台的导出接口,提供项目id、导出数据的方式和接口状态作为参数,通过HTTP请求发送这些参数,以导出接口文件;4) 调用封装的写文件方法,将导出的接口文件保存为json格式。4.如权利要求2所述的自动生成接口用例和代码的测试方法,其特征在于,第二步的具体实现方法:1) 调用封装的读文件方法,读取之前导出的接口文件;2) 解析JSON数据,调用封装的获取接口信息方法,逐个提取接口的信息,包括接口URL、请求方式、请求头、请求参数;其中,获取接口URL方法,囊括了所有的接口请求方式;获取接口请求头方法,分别封装了接口请求头、基本认证+接口请求头。5.如权利要求2所述的自动生成接口用例和代码的测试方法,其特征在于,第三步的具体实现方法:1) 基于获取到的接口信息,通过调用人工智能接口,生成接口用例;这些用例包括正常情况下的请求,各种可能的错误情况,以及相应的预期结果;2) 将生成的接口用例以Markdown格式进行组织,包括接口说明、请求示例、预期结果内容;3) 调用封装的写文件方法,将生成的Markdown文档保存为.md格式的文件。6.如权利要求2所述...

【专利技术属性】
技术研发人员:尹鑫孟伟张晓辰
申请(专利权)人:天津赛象云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1