System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于接口版本管理自动更新测试用例的方法技术_技高网

一种基于接口版本管理自动更新测试用例的方法技术

技术编号:44291234 阅读:10 留言:0更新日期:2025-02-14 22:25
本发明专利技术提供一种基于接口版本管理自动更新测试用例的方法,包括以下步骤:S1:加载配置文件;S2:获取Swagger文档并生成V1版本的Swagger文档;S3:解析Swagger文档并生成测试用例;S4:监控Swagger文档变动;S5:执行接口测试用例;S6:生成并发送测试报告;本发明专利技术提出的一种基于接口版本管理自动更新测试用例的方法,通过swagger文档地址识别并监控文档的变化自动生成测试用例,不需要测试人员手动编写测试用例,提高了测试效率,减少人力成本;本发明专利技术提供的方法能够识别测试用例接口的版本变化,显著提高了接口版本管理的效率和测试工作的准确性;适用于需要频繁更新接口版本的软件开发项目。

【技术实现步骤摘要】

本专利技术涉及计算机,尤其涉及一种基于接口版本管理自动更新测试用例的方法


技术介绍

1、研发人员在进行项目开发前都需要编写接口文档,随着openai规范的普及,swagger也进入了3.x阶段,swagger 3.x指支持openapi 3.0规范的swagger工具版本,更加强调对于restful api的支持和规范化,提供了更丰富和灵活的定义方式,并且可以用于自动生成文档、客户端代码、服务器代码和测试工具等;

2、现阶段大多数公司研发人员编写接口文档都是使用swagger生成接口文档,swagger基于openapi 3.0版本及以上生成swagger文档;少部分研发人员使用word文档编写接口文档,而测试人员依赖开发提供的swagger文档编写测试用例;由于接口数量众多且参数复杂,测试人员需手动编写大量测试用例,耗时耗力,工作效率低下。


技术实现思路

1、本专利技术的目的是为了解决现有技术中存在的缺点,而提出的一种基于接口版本管理自动更新测试用例的方法。

2、为实现上述目的,本专利技术采用了如下技术方案:

3、一种基于接口版本管理自动更新测试用例的方法,包括以下步骤:

4、s1:加载配置文件;

5、用户自定义配置文件,所述配置文件包括swagger文档的url地址和基础环境信息;

6、所述配置文件为用户可自定义存放于本地电脑的json文件;

7、通过python程序主入口加载配置文件并提取swagger文档的url地址和基础环境信息;

8、所述python程序主入口指python程序的入口文件,其中,入口文件遵循特定的命名规则。

9、s2:获取swagger文档并生成v1版本的swagger文档;

10、根据配置文件中swagger文档的url地址发起http请求,获取swagger文档;

11、将获取的swagger文档保存到本地,并在本地生成一个包含v1版本标识的文档,所述文档的文件名唯一;

12、所述文件名的格式为:版本标识+日期+自增序列号。

13、s3:解析swagger文档并生成测试用例;

14、使用swagger-parser库解析步骤s2中生成的包含v1版本标识的文档,解析为python对象,从解析后的python对象中提取api路径和请求信息等;

15、所述请求信息包括请求方法、请求参数、预期结果等;

16、遍历解析后的api路径和请求信息,每个api接口生成唯一id作为标识符;

17、使用requests库构建接口测试用例,每个接口测试用例包含api路径、唯一id、请求方法、请求参数、预期结果;

18、将构建的接口测试用例保存到接口测试用例集中。

19、s4:监控swagger文档变动;

20、包括如下子步骤:

21、s41:监听swagger文档更新事件;

22、使用watchdog库监听swagger文档更新事件;

23、具体地,在watchdog库中创建observer类,在observer类中指定需要监听的swagger文档路径,对所述swagger文档进行监控;并在observer类中重写on_modified函数;当swagger文档被修改时,则触发on_modified方法,进入步骤s42;

24、s42:获取最新的swagger文档并生成v2版本的文档;

25、使用http get请求获取修改后的swagger文档,并使用python程序的datetime组件获取修改后的swagger文档的时间戳,将所述swagger文档保存为包含v2版本标识的文档;

26、所述文件名的格式为:版本标识+日期+自增序列号;

27、s43:检查v1和v2版本的swagger文档中的api路径和请求信息是否发生变化;

28、包括如下子步骤:

29、s431:比较api路径是否发生变化;

30、使用json库解析v1和v2版本的swagger文档,遍历解析后的swagger文档,分别提取v1和v2版本的swagger文档的api路径;

31、比较v1和v2版本的swagger文档的api路径是否相同,如果存在不同,则记录发生变化的api路径;

32、s432:比较请求方法是否发生变化;

33、使用json库解析v1和v2版本的swagger文档,遍历解析后的swagger文档,分别提取v1和v2版本的swagger文档的请求方法;

34、比较v1和v2版本的swagger文档的请求方法是否相同,如果存在不同,则记录发生变化的请求方法;

35、s433:比较请求参数是否发生变化;

36、使用json库解析v1和v2版本的swagger文档,遍历解析后的swagger文档,分别提取v1和v2版本的swagger文档的请求参数;

37、比较v1和v2版本的swagger文档的请求参数是否相同,如果存在不同,则记录发生变化的请求参数;

38、s44:更新接口测试用例;

39、在接口测试用例集中更新api路径、请求方法、请求参数任一发生变化的接口测试用例。

40、s5:执行接口测试用例;

41、执行接口测试用例集中包含的接口测试用例,并记录每个接口测试用例的执行结果,将执行结果与预期结果进行比较,如果不一致,则得到测试结果为失败案例;如果一致,则得到测试结果为成功案例。

42、s6:生成并发送测试报告;

43、通过beautifulsoup创建html格式的测试报告,所述测试报告中包含接口测试用例、执行结果、测试结果;

44、使用smtplib组件将测试报告以邮件的形式发送给相关人员。

45、与现有技术相比,本专利技术的有益效果为:

46、本专利技术提出的一种基于接口版本管理自动更新测试用例的方法,通过swagger文档地址识别并监控文档的变化自动生成测试用例,不需要测试人员手动编写测试用例,提高了测试效率,缩减测试时间,减少人力成本;

47、本专利技术提供的方法能够识别测试用例接口的版本变化,显著提高了接口版本管理的效率和测试工作的准确性;适用于需要频繁更新接口版本的软件开发项目,特别是在微服务架构和api驱动的开发环境中,能够显著提升接口管理和测试的效率与质量。

本文档来自技高网...

【技术保护点】

1.一种基于接口版本管理自动更新测试用例的方法,其特征在于:包括以下步骤:

2.如权利要求1所述的基于接口版本管理自动更新测试用例的方法,其特征在于:

3.如权利要求1所述的基于接口版本管理自动更新测试用例的方法,其特征在于:

4.如权利要求1所述的基于接口版本管理自动更新测试用例的方法,其特征在于:

5.如权利要求1所述的基于接口版本管理自动更新测试用例的方法,其特征在于:

【技术特征摘要】

1.一种基于接口版本管理自动更新测试用例的方法,其特征在于:包括以下步骤:

2.如权利要求1所述的基于接口版本管理自动更新测试用例的方法,其特征在于:

3.如权利要求1所述的基于接口版本管理...

【专利技术属性】
技术研发人员:张楠李涛张召港张文张中磊
申请(专利权)人:鱼快创领智能科技南京有限公司
类型:发明
国别省市:

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

1