测试脚本的生成方法、装置、设备及存储介质制造方法及图纸

技术编号:33247546 阅读:20 留言:0更新日期:2022-04-27 18:02
本发明专利技术涉及软件测试技术,揭露了一种测试脚本的生成方法,包括:获取目标接口,通过swagger解析所述目标接口中的注解生成接口文档;对所述接口文档进行解析生成接口内容文本,并将所述接口内容文本与预设的脚本模板进行合并,得到初始脚本;根据所述接口文档随机生成模拟测试数据;根据所述模拟测试数据和所述初始脚本生成测试脚本。此外,本发明专利技术还涉及区块链技术,接口文档可存储于区块链的节点。本发明专利技术还提出一种测试脚本的生成装置、电子设备以及存储介质。本发明专利技术可以提高接口测试的效率。率。率。

【技术实现步骤摘要】
测试脚本的生成方法、装置、设备及存储介质


[0001]本专利技术涉及软件测试
,尤其涉及一种测试脚本的生成方法、装置、电子设备及计算机可读存储介质。

技术介绍

[0002]在系统设计中,由于前后端分离,前端和后端的交互一般是通过接口来实现的,但往往会出现后端给的接口文档与实际情况不一致、编写及维护接口文档耗费时间长等问题。而对于接口的测试,现有的测试方法通常是通过人力单独整理然后再测试,再根据提供改的接口信息内容去整理测试脚本,耗时耗力,效率较低。因此,需要一种更加高效的针对接口的测试脚本生成方法。

技术实现思路

[0003]本专利技术提供一种测试脚本的生成方法、装置及计算机可读存储介质,其主要目的在于提高接口测试的效率。
[0004]为实现上述目的,本专利技术提供的一种测试脚本的生成方法,包括:
[0005]获取目标接口,通过swagger解析所述目标接口中的注解生成接口文档;
[0006]对所述接口文档进行解析生成接口内容文本,并将所述接口内容文本与预设的脚本模板进行合并,得到初始脚本;
[0007]根据所述接口文档随机生成模拟测试数据;
[0008]根据所述模拟测试数据和所述初始脚本生成测试脚本。
[0009]可选地,所述获取目标接口,通过swagger解析所述目标接口中的注解生成接口文档,包括:
[0010]接收目标接口的接口文档生成请求;
[0011]根据所述接口文档生成请求中的路径获取目标接口;
[0012]通过swagger解析所述目标接口中的swagger注解,并根据所述swagger注解生成接口文档。
[0013]可选地,所述对所述接口文档进行解析生成接口内容文本,包括:
[0014]创建json对象抽象基类,并在所述json对象抽象基类中定义宏定义对象,所述宏定义对象用于创建各类型属性,以及对各个属性实现解析功能;
[0015]调用所述json对象抽象基类创建包含所述接口文档的所有属性成员的实体类,并对每个属性进行赋值;
[0016]将所述实体类转化成文本导出,得到接口内容文本。
[0017]可选地,所述将所述接口内容文本与预设的脚本模板进行合并,得到初始脚本,包括:
[0018]提取所述接口内容文本中的脚本类型;
[0019]根据所述脚本类型在预设的脚本库中获取对应类型的脚本模板,并将所述接口内
容文本导入所述脚本模板,得到初始脚本。
[0020]可选地,所述根据所述接口文档随机生成模拟测试数据,包括:
[0021]获取所述接口文档中的数据元素及所述数据元素对应的属性信息;
[0022]遍历所述接口文档中的各个数据元素,并根据与所述数据元素对应的属性信息中的序列号构建多叉树;
[0023]遍历所述多叉树中的各个节点,并根据当前遍历节点的类型按预设生成规则生成当前节点的模拟数据,得到模拟测试数据。
[0024]可选地,所述根据当前遍历节点的类型按预设生成规则生成当前节点的模拟数据,包括:
[0025]遍历所述多叉树中的各个节点,获取当前节点对应数据元素的数据类型属性,并根据所述数据类型确定当前节点的类型;
[0026]若所述当前节点的类型为非叶节点,则生成空数组,所述空数组定义返回的模拟数据为所述当前节点的分支节点的模拟数据;
[0027]若所述当前节点的类型为叶子节点,则根据所述数据类型随机生成与所述数据类型相同类型的模拟数据。
[0028]可选地,所述根据所述模拟测试数据和所述初始脚本生成测试脚本,包括:
[0029]获取所述初始脚本中的属性名称;
[0030]在所述属性名称对应位置中导入所述模拟测试数据中对应类型的数据,得到测试脚本;
[0031]执行所述测试脚本生成测试结果。
[0032]为了解决上述问题,本专利技术还提供一种测试脚本的生成装置,所述装置包括:
[0033]解析模块,用于获取目标接口,通过swagger解析所述目标接口中的注解生成接口文档;
[0034]模板合并模块,用于对所述接口文档进行解析生成接口内容文本,并将所述接口内容文本与预设的脚本模板进行合并,得到初始脚本;
[0035]数据生成模块,用于根据所述接口文档随机生成模拟测试数据;
[0036]脚本生成模块,用于根据所述模拟测试数据和所述初始脚本生成测试脚本。
[0037]为了解决上述问题,本专利技术还提供一种电子设备,所述电子设备包括:
[0038]至少一个处理器;以及,
[0039]与所述至少一个处理器通信连接的存储器;其中,
[0040]所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述所述的测试脚本的生成方法。
[0041]为了解决上述问题,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的测试脚本的生成方法。
[0042]本专利技术实施例通过swagger解析所述目标接口中的注解生成接口文档,对所述接口文档进行解析生成接口内容文本,可以自动化提取出目标接口的属性信息,并与脚本模板合并,可以快速产出对应初始脚本,节省人力和时间,提高开发效率;同时根据所述接口
文档随机生成模拟测试数据,从而生成测试脚本,实现了自动化生成模拟数据,从而无需开发人员手工编写模拟数据进行自动化测试,根据所述模拟测试数据和所述初始脚本生成测试脚本可以实现批量测试,有效提高测试效率。因此本专利技术提出的测试脚本的生成方法、装置、电子设备及计算机可读存储介质,可以提高接口测试的效率。
附图说明
[0043]图1为本专利技术一实施例提供的测试脚本的生成方法的流程示意图;
[0044]图2为本专利技术一实施例提供的测试脚本的生成装置的功能模块图;
[0045]图3为本专利技术一实施例提供的实现所述测试脚本的生成方法的电子设备的结构示意图。
[0046]本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0047]应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0048]本申请实施例提供一种测试脚本的生成方法。所述测试脚本的生成方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述测试脚本的生成方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。所述服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentD本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种测试脚本的生成方法,其特征在于,所述方法包括:获取目标接口,通过swagger解析所述目标接口中的注解生成接口文档;对所述接口文档进行解析生成接口内容文本,并将所述接口内容文本与预设的脚本模板进行合并,得到初始脚本;根据所述接口文档随机生成模拟测试数据;根据所述模拟测试数据和所述初始脚本生成测试脚本。2.如权利要求1所述的测试脚本的生成方法,其特征在于,所述获取目标接口,通过swagger解析所述目标接口中的注解生成接口文档,包括:接收目标接口的接口文档生成请求;根据所述接口文档生成请求中的路径获取目标接口;通过swagger解析所述目标接口中的swagger注解,并根据所述swagger注解生成接口文档。3.如权利要求1所述的测试脚本的生成方法,其特征在于,所述对所述接口文档进行解析生成接口内容文本,包括:创建json对象抽象基类,并在所述json对象抽象基类中定义宏定义对象,所述宏定义对象用于创建各类型属性,以及对各个属性实现解析功能;调用所述json对象抽象基类创建包含所述接口文档的所有属性成员的实体类,并对每个属性进行赋值;将所述实体类转化成文本导出,得到接口内容文本。4.如权利要求1所述的测试脚本的生成方法,其特征在于,所述将所述接口内容文本与预设的脚本模板进行合并,得到初始脚本,包括:提取所述接口内容文本中的脚本类型;根据所述脚本类型在预设的脚本库中获取对应类型的脚本模板,并将所述接口内容文本导入所述脚本模板,得到初始脚本。5.如权利要求1所述的测试脚本的生成方法,其特征在于,所述根据所述接口文档随机生成模拟测试数据,包括:获取所述接口文档中的数据元素及所述数据元素对应的属性信息;遍历所述接口文档中的各个数据元素,并根据与所述数据元素对应的属性信息中的序列号构建多叉树;遍历所述多叉树中的各个节点,并根据当前遍历节点的类型按预设...

【专利技术属性】
技术研发人员:李生波
申请(专利权)人:平安国际智慧城市科技股份有限公司
类型:发明
国别省市:

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

1