System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于python语言的回调接口性能测试方法技术_技高网

一种基于python语言的回调接口性能测试方法技术

技术编号:40055786 阅读:5 留言:0更新日期:2024-01-16 21:54
本发明专利技术提供了一种基于python语言的回调接口性能测试方法,包括:构建性能测试的函数,发起性能测试请求,并记录性能测试请求的请求标识和开始时间;性能测试请求成功后自动访问回调接口,并解析响应信息,查询是否存在请求标识:若存在请求标识,记录请求标识和结束时间;若不存在请求标识,回调接口继续回调直至请求超时;通过请求标识关联开始和结束时间,计算响应时间,得到测试结果。本发明专利技术有益效果:可以对系统的接口性能进行全面和精确的测试,且测试覆盖面广,可以测试各种不同场景下的接口性能,同时测试精确度高,可以计算出准确的接口响应时间。

【技术实现步骤摘要】

本专利技术属于计算机,尤其是涉及一种基于python语言的回调接口性能测试方法


技术介绍

1、性能测试是软件测试的一种关键类型,其目标是在不同负载条件下评估应用程序、系统或组件的性能响应时间、吞吐量和稳定性。它在软件开发周期中扮演着不可或缺的角色,有助于提高应用程序的质量和稳定性,在当今竞争激烈的市场中,程序的性能被视为确保应用程序成功的关键因素之一。

2、性能测试主要是对于应用程序接口(api)的测试,以下简称为接口,通常情况下一个接口对应一个程序功能,例如登录功能,在软件开发中以/login作为接口名存在,并且为这个接口设定一系列的规则。

3、通过python语言locust框架对接口进行性能测试是业界常用的一种技术方案,通过模拟用户发起大量秒并发去访问接口,获取接口的返回信息,从而得出该接口的响应时间。这是针对常规的接口进行测试。

4、在软件开发中针对解决异步编程和事件处理的需求,还有回调接口的编程模式,在与ai交互领域,回调接口应用更为广泛,回调接口简单的说就是我们去对接口a进行请求,接口a处理之后,会自动去请求接口b,接口b返回响应之后,才是正常的一次请求过程,例如有一个ai生成照片描述功能,我们拍摄一张照片上传给程序,程序接受到了照片会告诉我们上传成功,此时程序会在后台自动去请求一个“生成ai描述的接口”,等到ai描述生成,把生成的描述返回给我们,这个功能才算走完。

5、回调接口存在异步、二次请求接口的概念,传统的设计方案,由于无法去进行二次请求,也就无法去获取二次请求的返回信息,从而无法去获取回调接口真正的响应时间。


技术实现思路

1、有鉴于此,本专利技术旨在提出一种基于python语言的回调接口性能测试方法,以期解决上述部分技术问题中的至少之一。

2、为达到上述目的,本专利技术的技术方案是这样实现的:

3、一种基于python语言的回调接口性能测试方法,包括:

4、构建性能测试的函数,发起性能测试请求,并记录性能测试请求的请求标识和开始时间;

5、性能测试请求成功后自动访问回调接口,并解析响应信息,查询是否存在请求标识:

6、若存在请求标识,记录请求标识和结束时间;若不存在请求标识,回调接口继续解析响应信息并执行后续操作,直至请求超时;

7、通过请求标识关联开始和结束时间,计算响应时间,得到测试结果。

8、进一步的,性能测试函数在发起测试请求前进行如下前置处理:

9、打印日志标记测试开始,定义多个全局变量存储测试数据,从远程服务器获取访问令牌,获取并解析响应信息得到相应的token字段。

10、进一步的,性能测试函数在得到测试结果后进行如下后置处理:

11、以json格式写入日志信息;

12、请求获取回调接口信息以获取结束时间,若获取到结束时间,则测试成功;

13、若未获取到结束时间,则测试失败,将性能测试的开始时间和请求超时的时间存储到字典中;

14、将测试相关信息传入excel测试报告,打印日志标记测试结束。

15、进一步的,创建负载生成策略驱动性能测试的执行,其具体过程为:

16、定义两个负载阶段,并分别配置相应的持续时间、用户数、产生率;

17、使用tick方法根据当前运行时间,选择相应负载阶段的配置;

18、在每个负载阶段内,根据运行时间计算并返回相应的用户数及产生率。

19、进一步的,创建性能测试的接口函数以封装性能测试函数,其中接口函数的工作内容包括:

20、指定性能测试的目标主机;打开日志文件记录请求日志;设置用户启动等待时间;模拟用户启动、停止时执行的操作。

21、进一步的,定义性能测试函数,并对性能测试函数进行如下设置:

22、在性能测试函数内设置请求参数;

23、根据测试请求的响应情况进行处理,若请求失败,则记录请求失败信息;若请求成功,则将测试请求的相关信息存入字典中。

24、进一步的,创建性能测试场景下的被测试应用,当进行性能测试时启动测试应用,为测试提供接口服务;

25、测试应用内集成了swagger ui、cors、静态文件服务、redis连接、认证授权功能。

26、进一步的,测试应用提供了如下接口服务:

27、测试启动接口:通过http请求启动性能测试,创建配置文件并执行性能测试的相关命令;

28、测试停止接口:通过http请求停止正在运行的性能测试;

29、回调函数接口:接收并解析回调数据,将回调数据以json格式存储至缓存中;

30、回调响应接口:从缓存中获取回调结束时间。

31、进一步的,测试应用的工作流程为:

32、性能测试过程中,通过调用测试应用的接口服务启动、停止测试,并获取测试回调数据;

33、在性能测试过程中,使用性能测试工具,对测试应用中的接口发起大量请求,生成负载;

34、性能测试结束后,分析接口服务在负载下的性能表现,评估系统接口的性能情况。

35、相对于现有技术,本专利技术所述的一种基于python语言的回调接口性能测试方法具有以下有益效果:

36、1)可以对系统的接口性能进行全面和精确的测试,通过高并发的负载来模拟真实场景,能够评估接口在峰值负载下的性能表现。

37、2)测试覆盖面广,可以测试各种不同场景下的接口性能,评估系统的整体性能水平。

38、3)测试精确度高,通过请求开始时间和回调结束时间的记录,可以计算出准确的接口响应时间。

39、4)自动化程度高,测试用例的编写、测试的执行以及结果的数据收集和报告生成都实现了高度自动化。

40、5)测试效率高,通过locust等现代化性能测试框架,可以高效地并发产生海量请求,快速地对系统产生高负载。

41、6)方便定位性能瓶颈,通过测试报告中的详细数据,可以清晰地分析出系统的性能瓶颈所在。

42、7)便于持续优化,可以持续运行性能测试,评估每次优化的效果,指导系统的持续优化工作。

43、8)可以评估系统的横向扩展能力,通过增加测试的并发量,可以评估系统扩展的上限。

本文档来自技高网...

【技术保护点】

1.一种基于python语言的回调接口性能测试方法,其特征在于,包括:

2.根据权利要求1所述的一种基于python语言的回调接口性能测试方法,其特征在于:

3.根据权利要求1所述的一种基于python语言的回调接口性能测试方法,其特征在于:

4.根据权利要求1所述的一种基于python语言的回调接口性能测试方法,其特征在于:

5.根据权利要求1所述的一种基于python语言的回调接口性能测试方法,其特征在于:

6.根据权利要求1所述的一种基于python语言的回调接口性能测试方法,其特征在于:

7.根据权利要求1所述的一种基于python语言的回调接口性能测试方法,其特征在于:

8.根据权利要求7所述的一种基于python语言的回调接口性能测试方法,其特征在于:

9.根据权利要求8所述的一种基于python语言的回调接口性能测试方法,其特征在于:

【技术特征摘要】

1.一种基于python语言的回调接口性能测试方法,其特征在于,包括:

2.根据权利要求1所述的一种基于python语言的回调接口性能测试方法,其特征在于:

3.根据权利要求1所述的一种基于python语言的回调接口性能测试方法,其特征在于:

4.根据权利要求1所述的一种基于python语言的回调接口性能测试方法,其特征在于:

5.根据权利要求1所述的一种基于python语言的...

【专利技术属性】
技术研发人员:庞志斌刘斌欧庆伟
申请(专利权)人:天津华来科技股份有限公司
类型:发明
国别省市:

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

1