一种测试接口的方法和装置与流程

文档序号:36311307发布日期:2023-12-07 14:21阅读:30来源:国知局
一种测试接口的方法和装置与流程

本发明涉及计算机,尤其涉及一种测试接口的方法和装置。


背景技术:

1、在开发互联网应用的过程中,往往需要对不同版本的应用包含的接口进行对比测试,以测试不同版本的接口的运行状态是否正常、以及更新的接口版本是否满足预设的结果。

2、现有测试不同版本接口的方法通常针对不同版本发送同一个接口请求,利用预设的对比函数判断同一个接口请求所返回的数据是否相同;或者,在不同版本的接口的参数或代码变更程度较大的情况下,需要技术人员编写自定义的对比函数来确定新版本接口与旧版本接口的对比结果。随着测试次数的增加,现有的方法使测试接口的代码数量越来越多,存在测试代码与开发代码耦合性较强,需要额外维护测试代码的问题,从而导致测试接口的灵活性较差的问题。


技术实现思路

1、有鉴于此,本发明实施例提供一种测试接口的方法和装置,能够响应于针对接口的当前版本的对比测试请求,动态加载匹配于该接口的自定义对比实例,以通过自定义对比实例比较该接口的历史测试反馈数据与当前测试反馈数据得到不同版本的反馈数据的对比结果,从而确定接口测试结果。克服了测试代码与开发代码耦合性较强,需要额外维护测试代码的问题,提高了测试应用接口的灵活性和效率。

2、为实现上述目的,根据本发明实施例的一个方面,提供了一种测试接口的方法,其特征在于,包括:响应于针对接口的当前版本的对比测试请求,根据所述接口的接口标识,从设定配置文件中查找所述接口所对应的历史测试信息以及历史版本的历史测试反馈数据;利用所述历史测试信息对所述接口的当前版本进行测试,并拦截对应于所述当前版本的当前测试反馈数据;加载与所述接口标识匹配的自定义的对比实例,利用加载的所述对比实例对所述接口的历史测试反馈数据与所述当前测试反馈数据进行对比;根据对比的结果,确定接口测试结果。

3、可选地,所述测试接口的方法,进一步包括:为应用所包括的一个或多个接口分别配置有对应的对比脚本;针对每一个所述接口对应的对比脚本,执行基于所述对比脚本生成对应于所述接口的自定义的对比实例;存储所述接口的接口标识与所述自定义的对比实例的对应关系;所述加载与所述接口标识匹配的自定义的对比实例,包括:根据所述接口标识以及所述对应关系,查找并加载所述接口标识匹配的所述自定义的对比实例。

4、可选地,所述基于所述对比脚本生成对应于所述接口的自定义的对比实例,包括:获取所述接口对应的对比脚本;对所述对比脚本执行编译操作,生成对应于所述接口的所述自定义的对比实例。

5、可选地,所述自定义的对比实例设置于自定义类中;所述加载与所述接口标识匹配的自定义的对比实例,包括:

6、利用自定义类加载器加载为一个或多个所述接口的对比实例设置的自定义类;根据所述接口标识,从所述自定义类中获取与所述接口标识匹配的自定义的对比实例,其中,所述自定义类加载器为基于原始类加载器进行增强所得到。

7、可选地,所述测试接口的方法,进一步包括:

8、利用字节码增强器拦截原始类加载器,并将所述原始类加载器修改为自定义类加载器,以得到所述自定义类加载器。

9、可选地,所述为应用所包括的一个或多个接口分别配置有对应的对比脚本,包括:提供预设的对比脚本模板,以使用户基于所述对比脚本模板分别为所述应用的每一个接口构建执行对比逻辑的代码;基于所述执行对比逻辑的代码为每一个所述接口生成所述对比脚本。

10、可选地,所述执行对比逻辑的代码包含针对接口的一个或多个参数的当前版本与历史版本的对比逻辑;所述利用加载的所述对比实例对所述接口的历史测试反馈数据与所述当前测试反馈数据进行对比,包括:

11、利用所述当前版本与所述历史版本的对比逻辑,将所述历史测试反馈数据包含的一个或多个所述参数的参数值与所述当前测试反馈数据中包含的一个或多个所述参数的参数值进行对比。

12、为实现上述目的,根据本发明实施例的第二方面,提供了一种测试接口的装置,其特征在于,包括:获取数据模块、拦截数据模块和对比数据模块;其中,

13、所述获取数据模块,用于响应于针对接口的当前版本的对比测试请求,根据所述接口的接口标识,从设定配置文件中查找所述接口所对应的历史测试信息以及历史版本的历史测试反馈数据;

14、所述拦截数据模块,用于利用所述历史测试信息对所述接口的当前版本进行测试,并拦截对应于所述当前版本的当前测试反馈数据;

15、所述对比数据模块,用于加载与所述接口标识匹配的自定义的对比实例,利用加载的所述对比实例对所述接口的历史测试反馈数据与所述当前测试反馈数据进行对比;根据对比的结果,确定接口测试结果。

16、可选地,所述测试接口的装置,进一步用于为应用所包括的一个或多个接口分别配置有对应的对比脚本;针对每一个所述接口对应的对比脚本,执行基于所述对比脚本生成对应于所述接口的自定义的对比实例;存储所述接口的接口标识与所述自定义的对比实例的对应关系;所述加载与所述接口标识匹配的自定义的对比实例,包括:根据所述接口标识以及所述对应关系,查找并加载所述接口标识匹配的所述自定义的对比实例。

17、可选地,所述测试接口的装置,用于基于所述对比脚本生成对应于所述接口的自定义的对比实例,包括:获取所述接口对应的对比脚本;对所述对比脚本执行编译操作,生成对应于所述接口的所述自定义的对比实例。

18、可选地,所述测试接口的装置,包括所述自定义的对比实例设置于自定义类中;所述加载与所述接口标识匹配的自定义的对比实例,包括:利用自定义类加载器加载为一个或多个所述接口的对比实例设置的自定义类;根据所述接口标识,从所述自定义类中获取与所述接口标识匹配的自定义的对比实例,其中,所述自定义类加载器为基于原始类加载器进行增强所得到。

19、可选地,所述测试接口的装置,进一步用于利用字节码增强器拦截原始类加载器,并将所述原始类加载器修改为自定义类加载器,以得到所述自定义类加载器。

20、可选地,所述测试接口的装置,用于为应用所包括的一个或多个接口分别配置有对应的对比脚本,包括:提供预设的对比脚本模板,以使用户基于所述对比脚本模板分别为所述应用的每一个接口构建执行对比逻辑的代码;基于所述执行对比逻辑的代码为每一个所述接口生成所述对比脚本。

21、可选地,所述测试接口的装置,用于执行对比逻辑的代码包含针对接口的一个或多个参数的当前版本与历史版本的对比逻辑;所述利用加载的所述对比实例对所述接口的历史测试反馈数据与所述当前测试反馈数据进行对比,包括:利用所述当前版本与所述历史版本的对比逻辑,将所述历史测试反馈数据包含的一个或多个所述参数的参数值与所述当前测试反馈数据中包含的一个或多个所述参数的参数值进行对比。

22、为实现上述目的,根据本发明实施例的第三方面,提供了一种测试接口的电子设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述测试接口的方法中任一所述的方法。

23、为实现上述目的,根据本发明实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如上述测试接口的方法中任一所述的方法。

24、上述发明中的一个实施例具有如下优点或有益效果:能够响应于针对接口的当前版本的对比测试请求,动态加载匹配于该接口的自定义对比实例,以通过自定义对比实例比较该接口的历史测试反馈数据与当前测试反馈数据得到不同版本的反馈数据的对比结果,从而确定接口测试结果。克服了测试代码与开发代码耦合性较强,需要额外维护测试代码的问题,提高了测试接口的灵活性和效率。

25、上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1