- 1 为什么开发ZenData
- 2 ZenData数据生成工具简介
- 3 如何获得支持
- 4. 快速入门
- 4.1 安装部署
- 4.2 将ZenData加入系统环境变量中(可选)
- 4.3 命令行参数说明
- 4.4 命令行调用示例
- 4.5 內置数据定义示例
- 4.6 YAML定义语法总览
- 5. 用户指南
- 5.1. 数据定义语法
- 5.2. 內置数据定义
- 5.3. 用户数据自定义
- 5.4. 数据定义引用
- 5.4.1 引用ranges系列
- 5.4.2 引用instances实例
- 5.4.3 多froms联合引用
- 5.4.4 引用Config配置
- 5.4.5 引用yaml文件内容
- 5.4.6 全局from语句
- 5.5. 数据输出
- 5.5.1 文本格式输出
- 5.5.2 JSON格式输出
- 5.5.3 XML格式输出
- 5.5.4 SQL格式输出
- 5.5.5 直接插入数据到MySQL
- 5.5.6 CSV格式输出
- 5.5.7 Excel格式输出
- 5.5.8 ProtoBuf格式输出
- 5.6. ZenData命令行详解
- 5.6.1 Default配置覆盖
- 5.6.2 多配置文件新语法
- 5.6.3 列出內置数据
- 5.6.4 查看內置数据
- 5.6.5 从SQL生成数据定义
- 5.6.6 从数据库表结构生成数据定义
- 5.6.7 清除数据前后缀
- 5.7. ZenData文章生成器
- 5.7.1 中文词语基础数据
- 5.7.2 转换文章到YAML配置
- 5.7.3 文章格式语法介绍
- 5.7.4 从YAML配置生成新文章
- 5.8. ZenData客户端
- 5.8.1 Web接口调用
- 5.8.2. 数据提供者示例
- 5.8.2.1 TestNG数据提供者示例
- 5.8.2.2 PHPUnit数据提供者示例
- 5.8.2.3 PyUnit数据提供者示例
- 5.8.3. Web数据管理工具
- 5.9 ZenData自动升级
- 6. 内置数据一览
ZenData数据生成工具简介
- 2019-10-23 11:54:20
- Aaron Chen
- 22318
- 最后编辑:陈琦 于 2020-09-21 11:06:38
- 分享链接
一、ZenData的实现原理
ZenData使用YAML来作为数据类型配置文件。对于每一种类型的数据来讲,我们都可以将其拆分成若干的字段。比如我们要测试一个用户的订单表,会有订单的id,用户id或者账户名,订单的名称,订单的金额,订单的时间,订单状态等等字段。我们可以针对每一个字段配置其取值的范围。比如订单id,我可以定义为从1到10000,用户id可以是1-100。这样每一个字段都有了一个取值范围列表。当ZenData来生成数据的时候,从每一个字段里面依次取一个值,将其拼接在一起,就形成了一条记录。大家可以想象成每个字段都是一个转盘,按照自己的频率进行旋转,每一次旋转都从中取出一个值,和其他的字段进行组合。
上面说的是最基本的的工作原理,ZenData还提供了步长、随机、循环、引用等多种定义方式,我们会在接下来的手册里面展开讲。
二、ZenData的用途
ZenData主要两大功能:数据生成和数据解析。通过一个配置文件,可以使用ZenData生成您想要的各种数据。同样也可以对某一个数据文件,指定其数据类型定义的配置文件,完成到结构化数据的解析。
ZenData可以用于手工测试场景下面测试数据的准备,也可以用于自动化测试脚本里面的数据生成和解析。还可以一键生成海量数据用于性能和压力测试。
三、ZenData主要的特点
- 简单无依赖,只有一个可执行文件,即可满足命令行生成和HTTP接口两种数据生成服务。
- 使用配置文件来生成数据,使用人员不需要有开发知识,即可上手应用。
- 提供了功能强大的语法,分组、区间、步长、循环、随机、格式化和前后缀等,配置灵活性极强。
- 支持从文本文件中读取数据,方便用户对字段取值进行精确控制。
- 提供了Excel表格数据的标准SQL查询接口,使用更加灵活。
-
使用预制的序列(ranges)、实例(instances)、配置(config)对定义进行复用,以解决复杂数据格式的定义。
-
语法支持继承和扩展,为定义文件间的复用提供方便。
- 可以反向解析数据,可以对程序的输出进行解析,方便自动化测试脚本进行比对。
- 发行包內置了基础业务数据的定义文件(不断完善中)。
- 提供了HTTP接口数据生成服务,各种语言都可以方便调用。
发表评论