System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 接口自动化测试方法、系统、电子设备及存储介质技术方案_技高网

接口自动化测试方法、系统、电子设备及存储介质技术方案

技术编号:40428302 阅读:7 留言:0更新日期:2024-02-20 22:49
本申请实施例提供了一种接口自动化测试方法、系统、电子设备及存储介质,该方法包括:获取并响应于接口测试请求,从预设的测试剧本类中确定目标微服务程序的至少一个目标测试接口;若目标测试接口位于预设的初始测试接口集中的一个,从多个预设的初始测试代码类中,为目标测试接口确定与其相应的目标测试代码类,预设的初始测试接口集包括若干初始测试接口,每个初始测试代码类均用于为与其一一对应的初始测试接口进行测试;将目标测试代码类注入到测试脚本中以得到目标测试脚本;根据目标测试脚本和预设的测试数据对目标微服务程序进行自动化测试,以得到测试结果。本申请能够减少微服务接口测试的代码冗余,降低微服务接口测试的维护难度。

【技术实现步骤摘要】

本申请涉及接口测试,尤其涉及一种接口自动化测试方法、系统、电子设备及存储介质


技术介绍

1、随着互联网的不断发展,以及人们对业务功能需求精细化程度的不断提高,传统的单体架构已无法满足各种复杂的应用程序,由此,微服务架构应用而生并逐渐成为主流架构。在完成一个微服务架构的开发之前,需要对其进行各方面的测试,微服务接口测试是其中一项非常重要的测试,通过接口测试,可以让缺陷(bug)提前暴露,从而加快微服务架构的开发生成。

2、微服务架构中包含有多个微服务,通常,针对每一不同微服务的接口测试,都需要编写一个接口测试用例,然而,不同微服务可能包含了相同的接口,重复的接口测试代码编写使得微服务接口测试用例冗余,并且,一旦微服务接口发生改动,则需要同时修改大量接口用例,造成了微服务接口测试的维护困难。


技术实现思路

1、本申请实施例的主要目的在于提出一种接口自动化测试方法、系统、电子设备及存储介质,能够减少微服务接口测试的代码冗余,降低微服务接口测试的维护难度。

2、为实现上述目的,本申请实施例的第一方面提出了一种接口自动化测试方法,所述方法包括:获取接口测试请求,响应于所述接口测试请求,从预设的测试剧本类中确定目标微服务程序的至少一个目标测试接口;若所述目标测试接口位于预设的初始测试接口集中的一个,从多个预设的初始测试代码类中,为所述目标测试接口确定与其相应的目标测试代码类,其中,预设的初始测试接口集包括若干初始测试接口,每个初始测试代码类均用于为与其一一对应的初始测试接口进行测试;将所述目标测试代码类注入到所述目标微服务程序对应的测试脚本中以得到目标测试脚本;根据所述目标测试脚本和预设的测试数据对所述目标微服务程序进行自动化测试,以得到测试结果。

3、在一些实施例中,应用于客户端,所述客户端与服务器端通信连接,所述服务器端运行有所述目标微服务程序;所述根据所述目标测试脚本和预设的测试数据对所述目标微服务程序进行自动化测试,以得到测试结果,包括:获取测试执行指令;响应于所述测试执行指令,执行所述目标测试脚本,并在执行过程中基于所述目标测试代码类将对应的预设的测试数据封装成至少一个所述目标测试接口的测试请求,向所述服务器端发送所述测试请求;接收所述服务器端返回的响应数据,基于所述目标测试代码类对所述响应数据进行断言,根据断言结果得到测试结果。

4、在一些实施例中,所述方法还包括:若所述目标测试接口不位于预设的所述初始测试接口集中,为所述目标测试接口配置对应的新测试代码类,并根据所述新测试代码类更新所述初始测试代码类;将所述新测试代码类注入到所述目标微服务程序对应的所述测试脚本中,并基于所述测试脚本对所述目标微服务程序进行自动化测试。

5、在一些实施例中,所述从预设的测试剧本类中确定目标微服务程序的至少一个目标测试接口,包括:解析所述测试剧本类,得到微服务名称和接口名称;根据所述微服务名称,确定目标微服务程序;根据所述接口名称,确定所述目标微服务程序的目标测试接口。

6、在一些实施例中,所述初始测试代码类通过以下步骤得到,包括:获取各所述初始测试接口的接口名称,并确定相同所述接口名称对应的初始测试代码类为同一个;获取相同所述接口名称对应的初始测试接口的接口参数;根据所述接口参数,生成初始测试代码类。

7、在一些实施例中,所述根据所述接口参数,生成初始测试代码类,包括:获取至少一个初始请求、封装工具和断言语句;利用所述封装工具,将所述接口参数、所述初始请求和所述断言语句进行封装,得到初始测试代码类,其中,所述初始测试代码类用于注入对应的测试脚本。

8、在一些实施例中,所述基于所述目标测试代码类对所述响应数据进行断言,根据断言结果得到测试结果,包括:获取目标期望结果;根据所述响应数据和所述目标测试代码类,得到断言结果;将所述断言结果与所述目标期望结果进行对比,得到测试结果。

9、为实现上述目的,本申请实施例的第二方面提出了一种接口自动化测试系统,所述系统包括:获取模块,用于获取接口测试请求,响应于所述接口测试请求,从预设的测试剧本类中确定目标微服务程序的至少一个目标测试接口;确定模块,用于若所述目标测试接口位于预设的初始测试接口集中的一个,从多个预设的初始测试代码类中,为所述目标测试接口确定与其相应的目标测试代码类,其中,预设的初始测试接口集包括若干初始测试接口,每个初始测试代码类均用于为与其一一对应的初始测试接口进行测试;测试模块,用于将所述目标测试代码类注入到所述目标微服务程序对应的测试脚本中以得到目标测试脚本;结果模块,用于根据所述目标测试脚本和预设的测试数据对所述目标微服务程序进行自动化测试,以得到测试结果。

10、为实现上述目的,本申请实施例的第三方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面实施例所述的接口自动化测试方法。

11、为实现上述目的,本申请实施例的第四方面提出了一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面实施例所述的接口自动化测试方法。

12、本申请实施例提出的接口自动化测试方法、系统、电子设备及存储介质,接口自动化测试方法可以应用在接口自动化测试系统中。该接口自动化测试方法包括:获取接口测试请求,响应于所述接口测试请求,从预设的测试剧本类中确定目标微服务程序的至少一个目标测试接口;若所述目标测试接口位于预设的初始测试接口集中,从多个预设的初始测试代码类中,为所述目标测试接口确定与其相应的目标测试代码类,其中,预设的初始测试接口集包括若干初始测试接口,每个初始测试代码类均用于为与其一一对应的初始测试接口进行测试,即每一初始测试接口都预先设置有对应的初始测试代码类,并且,多个相同初始测试接口对应的初始测试代码类为同一个,这样,避免了相同代码的冗余,且当多个相同初始测试接口产生测试变更,而需要进行代码维护时,仅需维护一个测试代码类,降低了代码维护的难度;接着,将所述目标测试代码类注入到所述目标微服务程序对应的测试脚本中以得到目标测试脚本;根据所述目标测试脚本和预设的测试数据对所述目标微服务程序进行自动化测试,以得到测试结果。可以理解的是,本申请中还将测试数据与测试脚本的分离,当执行测试时,再将测试数据与测试脚本结合,如此,进一步减少了测试代码的冗余。

本文档来自技高网...

【技术保护点】

1.一种接口自动化测试方法,其特征在于,所述方法包括:

2.根据权利要求1所述的接口自动化测试方法,其特征在于,应用于客户端,所述客户端与服务器端通信连接,所述服务器端运行有所述目标微服务程序;

3.根据权利要求1所述的接口自动化测试方法,其特征在于,所述方法还包括:

4.根据权利要求1所述的接口自动化测试方法,其特征在于,所述从预设的测试剧本类中确定目标微服务程序的至少一个目标测试接口,包括:

5.根据权利要求1所述的接口自动化测试方法,其特征在于,所述初始测试代码类通过以下步骤得到,包括:

6.根据权利要求5所述的接口自动化测试方法,其特征在于,所述根据所述接口参数,生成初始测试代码类,包括:

7.根据权利要求2所述的接口自动化测试方法,其特征在于,所述基于所述目标测试代码类对所述响应数据进行断言,根据断言结果得到测试结果,包括:

8.一种接口自动化测试系统,其特征在于,所述系统包括:

9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的接口自动化测试方法。

10.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的接口自动化测试方法。

...

【技术特征摘要】

1.一种接口自动化测试方法,其特征在于,所述方法包括:

2.根据权利要求1所述的接口自动化测试方法,其特征在于,应用于客户端,所述客户端与服务器端通信连接,所述服务器端运行有所述目标微服务程序;

3.根据权利要求1所述的接口自动化测试方法,其特征在于,所述方法还包括:

4.根据权利要求1所述的接口自动化测试方法,其特征在于,所述从预设的测试剧本类中确定目标微服务程序的至少一个目标测试接口,包括:

5.根据权利要求1所述的接口自动化测试方法,其特征在于,所述初始测试代码类通过以下步骤得到,包括:

6.根据权利要求5所述的接口自动化测试方法,其特征在于,...

【专利技术属性】
技术研发人员:王乐舒亮王文娟李佳亮
申请(专利权)人:华润数字科技有限公司
类型:发明
国别省市:

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

1