一种区块链测试方法、系统、装置、电子设备及存储介质制造方法及图纸

技术编号:35901444 阅读:20 留言:0更新日期:2022-12-10 10:37
本申请涉及一种区块链测试方法、系统、装置、电子设备及存储介质,其中,区块链测试方法包括:获取配置文件,配置文件包括配置信息和适配层代码的路径信息;根据路径信息读取适配层代码;适配层代码与测试框架主体代码之间解耦;提取适配层代码携带的初始化函数;根据初始化函数和配置信息配置区块链客户端,以在区块链客户端进行区块链测试。该方法将适配层代码与测试框架主体代码进行解耦,在使用时通过路径信息供主体程序链接使用,由于将适配层代码与测试框架主体代码分离,避免了适配层代码和测试框架主体代码在编译时的冲突问题,提升测试系统适配平台的拓展性和使用上的灵活性,方便进行多平台的区块链性能测试,提高测试效率。率。率。

【技术实现步骤摘要】
一种区块链测试方法、系统、装置、电子设备及存储介质


[0001]本申请涉及区块链测试
,尤其涉及一种区块链测试方法、系统、装置、电子设备及存储介质。

技术介绍

[0002]现阶段区块链行业缺乏核心的理念和基本技术共识,使得区块链行业发展碎片化,区块链行业的标准化进程缓慢。由于一些区块链平台之间代码的借鉴,导致在某些层面上在代码编译时无法正常编译使用。这对于测试框架的可拓展性的影响非常直接,可能直接导致测试框架无法适配某些冲突的区块链平台。
[0003]目前所有区块链平台适配代码共存与同一个编译目标下。框架编译使用时所有的目标适配平台都需要同时编译进二进制执行,但由于部分区块链平台之间的冲突问题,这个方法随着适配区块链平台数量的增加时出现冲突问题的可能性越大,例如hyperledger fabric与Xuperchain就存在网络protos冲突问题,无法在同一个项目下编译使用,必须在同一个项目下使用必须在编译时忽略其中一个适配平台。如此在使用两个平台时需要修改编译选项,降低了使用体验。另外,在测试时只需要使用其中一个目标平台,在可能需要修改部分代码进行测试时,冗杂的适配代码很大程序上增加了很多的编译等待时间,降低了易用性。

技术实现思路

[0004]为了解决测试框架主体代码与适配层代码在编译时发生冲突的技术问题,本申请提供了一种区块链测试方法、系统、装置、电子设备及存储介质。
[0005]第一方面,本申请提供了一种区块链测试方法,所述方法包括:
[0006]获取配置文件,所述配置文件包括配置信息和适配层代码的路径信息;
[0007]根据所述路径信息读取所述适配层代码;所述适配层代码与测试框架主体代码之间解耦;
[0008]提取所述适配层代码携带的初始化函数;
[0009]根据所述初始化函数和所述配置信息配置区块链客户端,以使用所述区块链客户端进行区块链测试;
[0010]可选地,根据所述初始化函数和所述配置信息配置区块链客户端之前,所述方法还包括:初始化压力机;所述压力机包括至少一个压力输出单位;
[0011]所述初始化压力机,包括根据所述配置信息初始化所述压力输出单位,以在配置区块链客户端后,使用所述区块链客户端进行区块链测试;
[0012]可选地,所述适配层代码采用适配区块链插件形式与所述测试框架主体代码实现解耦;
[0013]可选地,根据所述初始化函数和所述配置信息配置区块链客户端之后,所述方法还包括:确定所述区块链客户端包括实现区块链接口功能的函数;所述实现区块链接口功
能的函数用于在所述区块链客户端进行区块链测试时使用。
[0014]第二方面,本申请提供了一种区块链测试系统,所述系统包括:第一模块和第二模块,所述第一模块包括测试框架主体代码,所述第二模块包括至少一个适配层代码;
[0015]所述测试框架主体代码,用于获取配置文件,所述配置文件包括配置信息和适配层代码的路径信息;根据所述路径信息读取所述适配层代码;所述适配层代码与测试框架主体代码之间解耦;提取所述适配层代码携带的初始化函数;根据所述初始化函数和所述配置信息配置区块链客户端,以在所述区块链客户端进行区块链测试;
[0016]可选地,所述测试框架主体代码包括压力机,所述压力机包括至少一个压力输出单位,任意一个所述压力输出单位对应一个所述区块链客户端;
[0017]可选地,所述适配层代码采用适配区块链插件形式与所述测试框架主体代码实现解耦。
[0018]第三方面,本申请提供了一种区块链测试装置,所述装置包括:
[0019]获取模块,用于获取配置文件,所述配置文件包括配置信息和适配层代码的路径信息;
[0020]读取模块,用于根据所述路径信息读取所述适配层代码;所述适配层代码与测试框架主体代码之间解耦;
[0021]提取模块,用于提取所述适配层代码携带的初始化函数;
[0022]配置模块,用于根据所述初始化函数和所述配置信息配置区块链客户端,以在所述区块链客户端进行区块链测试。
[0023]第四方面,本申请提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0024]存储器,用于存放计算机程序;
[0025]处理器,用于执行存储器上所存放的程序时,实现第一方面任一项实施例所述的区块链测试方法的步骤。
[0026]第五方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项实施例所述的区块链测试方法的步骤。
[0027]本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
[0028]本申请实施例提供的该方法,获取配置文件,所述配置文件包括配置信息和适配层代码的路径信息;根据所述路径信息读取所述适配层代码;所述适配层代码与测试框架主体代码之间解耦;提取所述适配层代码携带的初始化函数;根据所述初始化函数和所述配置信息配置区块链客户端,以使用所述区块链客户端进行区块链测试。该方法将适配层代码与测试框架主体代码进行解耦,在使用时通过配置文件中的路径信息供主体程序链接使用,并提取适配层代码携带的初始化函数,根据初始化函数和配置信息配置区块链客户端,该方法将适配层代码与测试框架主体代码分离,避免了适配层代码和测试框架主体代码在编译时的冲突问题,提升测试系统适配平台的拓展性和使用上的灵活性,方便进行多平台的区块链性能测试,提高测试效率。
附图说明
[0029]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施
例,并与说明书一起用于解释本专利技术的原理。
[0030]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0031]图1为本申请一个实施例提供的一种区块链测试方法的系统架构图;
[0032]图2为本申请一个实施例提供的一种区块链测试方法的流程示意图;
[0033]图3为本申请另一个实施例提供的一种区块链测试方法的流程示意图;
[0034]图4为本申请一个实施例提供的一种区块链测试方法的架构示意图;
[0035]图5为本申请另一个实施例提供的一种区块链测试方法的架构示意图;
[0036]图6为本申请一个实施例提供的一种区块链测试装置的结构示意图;
[0037]图7为本申请一个实施例提供的一种电子设备的结构示意图。
具体实施方式
[0038]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链测试方法,其特征在于,所述方法包括:获取配置文件,所述配置文件包括配置信息和适配层代码的路径信息;根据所述路径信息读取所述适配层代码;所述适配层代码与测试框架主体代码之间解耦;提取所述适配层代码携带的初始化函数;根据所述初始化函数和所述配置信息配置区块链客户端,以使用所述区块链客户端进行区块链测试。2.根据权利要求1所述的方法,其特征在于,根据所述初始化函数和所述配置信息配置区块链客户端之前,所述方法还包括:初始化压力机;所述压力机包括至少一个压力输出单位;所述初始化压力机,包括根据所述配置信息初始化所述压力输出单位,以在配置区块链客户端后,使用所述区块链客户端进行区块链测试。3.根据权利要求1所述的方法,其特征在于,所述适配层代码采用适配区块链插件形式与所述测试框架主体代码实现解耦。4.根据权利要求3所述的方法,其特征在于,根据所述初始化函数和所述配置信息配置区块链客户端之后,所述方法还包括:确定所述区块链客户端包括实现区块链接口功能的函数;所述实现区块链接口功能的函数用于在所述区块链客户端进行区块链测试时使用。5.一种区块链测试系统,其特征在于,所述系统包括:第一模块和第二模块,所述第一模块包括测试框架主体代码,所述第二模块包括至少一个适配层代码;所述测试框架主体代码,用于获取配置文件,所述配置文件包括配置信息和适配层代码的路径信息;根据所述路径信息读取所述适配层代码;所述适配层代码与测试框架主体代码之间解...

【专利技术属性】
技术研发人员:尚璇黄方蕾王晓晖胡麦芳邱炜伟
申请(专利权)人:杭州趣链科技有限公司
类型:发明
国别省市:

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

1