接口测试挡板的处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:39189484 阅读:12 留言:0更新日期:2023-10-27 08:36
本申请提供了一种接口测试挡板的处理方法、装置、电子设备及存储介质,方法包括:在目标虚拟机中运行第一class文件,以加载主系统的业务逻辑;在目标虚拟机中加载第一代理,在第一代理预先部署了指示第一class文件中的测试接口地址的指针,测试接口地址为用于与被测系统进行交互的接口的服务地址字节码;通过所加载的第一代理调用第一字节码修改函数,来将指针所指示的测试接口地址修改为挡板对应的挡板地址字节码,以对挡板进行加载。本申请通过代理方式实现对挡板的热加载,缩短挡板加载时间,提升开发测试工作的实施效率。提升开发测试工作的实施效率。提升开发测试工作的实施效率。

【技术实现步骤摘要】
接口测试挡板的处理方法、装置、电子设备及存储介质


[0001]本申请涉及挡板测试
,尤其涉及一种接口测试挡板的处理方法、装置、电子设备及存储介质。

技术介绍

[0002]挡板是MOCK程序的一种,在基于SOA(Service

Oriented Architecture,面向服务架构)或微服务架构开发的项目测试中,往往由于客观因素的限制(包括测试硬件资源有限、多系统之间的协调等),无法搭建一个完整的测试环境来完成测试工作,此时,一般会搭建出被测系统,然后采用软件程序来模拟其他相关系统的功能,该软件程序一般被称为挡板。
[0003]在对被测系统执行操作时,需要明确操作文件,然后对文件进行编译、打包、部署以及访问等一系列流程处理,涉及到各个系统之间的协调配合,因此,若要通过引入挡板进行测试,需要设计到负责各个系统的开发人员逐一针对性的完成相关加载挡板之前的准备工作,这一过程时间非常长,严重影响了整体的测试效率。

技术实现思路

[0004]有鉴于此,本申请的目的在于至少提供一种接口测试挡板的处理方法、装置、电子设备及存储介质,通过代理方式实现对挡板的热加载,缩短挡板加载时间,提升开发测试工作的实施效率。
[0005]本申请主要包括以下几个方面:
[0006]第一方面,本申请实施例提供一种接口测试挡板的处理方法,方法包括:在目标虚拟机中运行第一class文件,以加载主系统的业务逻辑;在目标虚拟机中加载第一代理,在第一代理预先部署了指示第一class文件中的测试接口地址的指针,测试接口地址为用于与被测系统进行交互的接口的服务地址字节码;通过所加载的第一代理调用第一字节码修改函数,来将指针所指示的测试接口地址修改为挡板对应的挡板地址字节码,得到第二class文件,实现对挡板进行加载。
[0007]在一种可能的实施方式中,通过以下方式确定目标虚拟机:获取第一class文件对应的类签名;根据第一class文件对应的类签名,从多个虚拟机中定位运行第一class文件的目标虚拟机。
[0008]在一种可能的实施方式中,通过以下方式在目标虚拟机中加载代理类:在目标虚拟机启动时,获取代理类对应的jar包;将第一代理对应的jar包传入目标虚拟机对应的虚拟机启动参数,以使目标虚拟机通过所传入的虚拟机启动参数完成对第一代理的加载。
[0009]在一种可能的实施方式中,还通过以下方式在目标虚拟机中加载第一代理:在目标虚拟机启动后,向attach API中传入目标虚拟机的进程标识;利用attach API以及传入attach API的目标虚拟机的进程标识,在目标虚拟机实现对第一代理的注册,以在目标虚拟机完成对第一代理的加载。
[0010]在一种可能的实施方式中,在目标虚拟机完成对第一代理的加载之前,方法还包括:将第一代理对应的jar包添加至目标虚拟机对应的系统类路径;调用目标虚拟机对应的系统类加载器,对系统类路径中添加的第一代理对应的jar包进行加载。
[0011]在一种可能的实施方式中,方法还包括:在目标虚拟机中加载第二代理,在第二代理预先部署了指示第二class文件中的测试接口地址的指针;通过所加载的第二代理调用第二字节码修改函数,来将指针所指示的第二class文件中的测试接口地址由挡板地址修改为被测系统对应的被测系统地址字节码,以对挡板进行卸载。
[0012]第二方面,本申请还提供一种接口测试挡板的处理装置,处理装置包括:运行模块,用于在目标虚拟机中运行第一class文件,以加载主系统的业务逻辑;第一代理加载模块,用于在目标虚拟机中加载第一代理,在第一代理预先部署了指示第一class文件中的测试接口地址的指针,测试接口地址为用于与被测系统进行交互的接口的服务地址字节码;挡板加载模块,用于通过所加载的第一代理调用第一字节码修改函数,来将指针所指示的测试接口地址修改为挡板对应的挡板地址字节码,以对挡板进行加载。
[0013]在一种可能的实施方式中,处理装置还包括:第二代理加载模块,用于在目标虚拟机中加载第二代理,在第二代理预先部署了指示第二class文件中的测试接口地址的指针;挡板卸载模块,用于通过所加载的第二代理调用第二字节码修改函数,来将指针所指示的第二class文件中的测试接口地址由挡板地址修改为被测系统对应的被测系统地址字节码,以对挡板进行卸载。
[0014]第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行上述第一方面或第一方面中任一种可能的实施方式中所述的接口测试挡板的处理方法的步骤。
[0015]第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面或第一方面中任一种可能的实施方式中所述的接口测试挡板的处理的步骤。
[0016]本申请实施例提供的一种接口测试挡板的处理方法、装置、电子设备及存储介质,方法包括:在目标虚拟机中运行第一class文件,以加载主系统的业务逻辑;在目标虚拟机中加载第一代理,在第一代理预先部署了指示第一class文件中的测试接口地址的指针,测试接口地址为用于与被测系统进行交互的接口的服务地址字节码;通过所加载的第一代理调用第一字节码修改函数,来将指针所指示的测试接口地址修改为挡板对应的挡板地址字节码,以对挡板进行加载。本申请通过代理方式实现对挡板的热加载,缩短挡板加载时间,提升开发测试工作的实施效率。
[0017]为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0018]为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这
些附图获得其他相关的附图。
[0019]图1示出了本申请实施例所提供的一种接口测试挡板的处理方法的流程图;
[0020]图2示出了本申请实施例提供的一种接口测试挡板的处理装置的结构示意图;
[0021]图3示出了本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
[0022]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中的附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应当理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种接口测试挡板的处理方法,其特征在于,所述方法包括:在目标虚拟机中运行第一class文件,以加载主系统的业务逻辑;在所述目标虚拟机中加载第一代理,在所述第一代理预先部署了指示第一class文件中的测试接口地址的指针,所述测试接口地址为用于与被测系统进行交互的接口的服务地址字节码;通过所加载的第一代理调用第一字节码修改函数,来将指针所指示的测试接口地址修改为挡板对应的挡板地址字节码,得到第二class文件,实现对挡板进行加载。2.根据权利要求1所述的方法,其特征在于,通过以下方式确定所述目标虚拟机:获取所述第一class文件对应的类签名;根据所述第一class文件对应的类签名,从多个虚拟机中定位运行所述第一class文件的目标虚拟机。3.根据权利要求1所述的方法,其特征在于,通过以下方式在所述目标虚拟机中加载代理类:在所述目标虚拟机启动时,获取所述代理类对应的jar包;将所述第一代理对应的jar包传入所述目标虚拟机对应的虚拟机启动参数,以使所述目标虚拟机通过所传入的虚拟机启动参数完成对所述第一代理的加载。4.根据权利要求1所述的方法,其特征在于,还通过以下方式在所述目标虚拟机中加载第一代理:在所述目标虚拟机启动后,向attach API中传入所述目标虚拟机的进程标识;利用所述attach API以及传入attach API的目标虚拟机的进程标识,在所述目标虚拟机实现对所述第一代理的注册,以在所述目标虚拟机完成对所述第一代理的加载。5.根据权利要求3或4所述的方法,其特征在于,在所述目标虚拟机完成对所述第一代理的加载之前,所述方法还包括:将所述第一代理对应的jar包添加至目标虚拟机对应的系统类路径;调用所述目标虚拟机对应的系统类加载器,对所述系统类路径中添加的第一代理对应的jar包进行加载。6.根据权利要求1所述的方法,其特征在于,所述方法...

【专利技术属性】
技术研发人员:云希尧李哲王为为
申请(专利权)人:渤海银行股份有限公司
类型:发明
国别省市:

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

1