本申请涉及代码测试,尤其涉及一种测试代码生成方法、装置、电子设备及存储介质。
背景技术:
1、随着互联网技术的不断发展,在软件开发过程中软件的规模越来越大且结构复杂,以及软件应用领域的不断拓展,对软件系统的测试也变得更加困难和复杂。为了批量对一些软件中重复单一的操作进行测试,且减少由于手工测试中繁复的重复工作所导致的人为差错,通常采用自动化测试。
2、目前,用户界面(user interface,ui)测试的自动化方法中,ui发生变化或调整,需要测试人员重新维护自动化脚本,如果发生重大改版,基本自动化脚本都需要花费大量时间,对所有业务测试逻辑测试脚本进行编写,维护的成本较高、效率较低。
技术实现思路
1、本申请实施例提供一种测试代码生成方法、装置、电子设备及存储介质,可以简化脚本编写,节省编写时间,提高测试代码的生成效率。
2、第一方面,本申请实施例提供了一种测试代码生成方法,所述方法包括:
3、读取待更新字段,将所述待更新字段进行反序列化,获得所述待更新字段的反序列化字段,缓存在java虚拟机堆中;
4、在对所述待更新字段进行更新操作时,从所述java虚拟机堆中获取所述待更新字段的反序列化字段进行更新,获得反序列化更新字段;
5、将所述反序列化更新字段进行序列化,以执行io操作。
6、在一种可选的实施方式中,所述在对所述待更新字段进行更新操作时,所述方法还包括:
7、记录更新字段的状态标识为预设标识;
8、所述将所述反序列化更新字段进行序列化,包括:
9、将所述预设标识对应的反序列化更新字段进行序列化。
10、在一种可选的实施方式中,在所述读取待更新字段之前,所述方法还包括:
11、根据接入的行情数据汇总获得进程更新行情信息;
12、所述读取待更新字段,包括根据所述进程更新行情信息读取所述待更新字段;
13、所述方法还包括:
14、发布更新后的行情。
15、在一种可选的实施方式中,在对所述待更新字段进行更新操作之前,所述方法还包括:
16、确定所述java虚拟机堆中是否存在所述待处理字段的反序列化字段;
17、若是,执行从所述java虚拟机堆中获取所述待更新字段的反序列化字段进行更新的步骤;
18、若否,对所述待更新字段进行反序列化,获得所述待更新字段的反序列化字段,并缓存在所述java虚拟机堆中。
19、在一种可选的实施方式中,所述方法还包括:
20、新建空对象时,对象实例化空的二进制数组;
21、填充属性时,对属性直接进行序列化,然后存放到所述二进制数组中。
22、在一种可选的实施方式中,所述方法还包括:
23、在执行所述io操作时,对二进制数据进行压缩。
24、在一种可选的实施方式中,所述二进制数组采用堆外内存。
25、第二方面,本申请实施例提供了一种测试代码生成装置,包括:
26、获取模块,用于获取业务测试脚本;
27、解析模块,用于通过测试框架的核心解析脚本对所述业务测试脚本进行解析,获得解析后的脚本以及分离的数据;
28、编辑模块,用于根据对所述分离的数据的编辑操作,更新所述分离的数据,获得目标测试用例;
29、执行模块,用于基于所述测试框架运行所述目标测试用例,生成测试报告。
30、可选的,所述解析模块,具体用于:
31、通过测试框架的核心解析脚本,将所述业务测试脚本的脚本逻辑和数据进行分离,获得解析后的脚本以及分离的数据,所述解析后的脚本采用参数化变量,所述参数化变量用于进行数据驱动。
32、可选的,所述解析模块,还用于执行以下任意一种或几种:
33、替换所述业务测试脚本的登录逻辑;
34、添加所述业务测试脚本的等待逻辑;
35、添加标签;
36、引用预设公用方法优化所述脚本逻辑的代码。
37、可选的,所述解析模块,具体用于将所述测试框架中的通用登录方法,替换到所述业务测试脚本中达到登录目的。
38、可选的,所述解析模块,具体用于判断所述业务测试脚本中是否存在页面跳转操作,若存在,为所述页面跳转操作添加跳转执行之后的等待时间。
39、可选的,所述获取模块具体用于:
40、获取通过预设插件录制的待验证业务流程,对所述待验证业务流程进行预处理;
41、从所述预设插件导出所述待验证业务流程对应的业务测试脚本。
42、可选的,所述获取模块,具体用于删除所述待验证业务流程中的步骤、添加注释、加入验证点。
43、第三方面,本申请实施例还提供了一种电子设备,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如第一方面及其任一种可能的实施方式所述的方法。
44、第四方面,本申请实施例提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面及其任一种可能的实施方式的方法。
45、本申请实施例通过获取业务测试脚本;通过测试框架的核心解析脚本对所述业务测试脚本进行解析,获得解析后的脚本以及分离的数据;根据对所述分离的数据的编辑操作,更新所述分离的数据,获得目标测试用例;基于所述测试框架运行所述目标测试用例,生成测试报告;可以通过核心解析脚本对脚本和数据进行分离,可以快速验证多条逻辑,并且可以统一添加补充用例等,减少编写工作量,节省维护时间,提高测试代码的生成效率。
1.一种测试代码生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述通过测试框架的核心解析脚本对所述业务测试脚本进行解析,获得解析后的脚本以及分离的数据,包括:
3.根据权利要求2所述的方法,其特征在于,所述通过测试框架的核心解析脚本对所述业务测试脚本进行解析,还包括以下任意一种或几种:
4.根据权利要求3所述的方法,其特征在于,所述替换所述业务测试脚本的登录逻辑,包括:
5.根据权利要求3所述的方法,其特征在于,所述添加所述业务测试脚本的等待逻辑,包括:
6.根据权利要求1所述的方法,其特征在于,所述获取业务测试脚本,包括:
7.根据权利要求6所述的方法,其特征在于,所述对所述待验证业务流程进行预处理,包括但不限于以下的一种或几种:
8.一种测试代码生成装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-7任一项所述的方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。