ZenData 2.3 版本发布,支持多层级 JSON 数据输出


ZenData2.3版本发布,支持多层级JSON数据输出,新增从 Mysql表生成数据定义文件。

2.3版更新内容

  • 支持多层级JSON格式的数据输出,便于在测试代码中反序列化成对象使用;
  • 支持直接从Mysql数据库表生成YAML定义文件;
  • 数据生成服务API,新增非JSON格式的数据输出;
  • 其他一些问小题的修复。

ZenData用途

ZenData主要两大功能:数据生成和数据解析。通过一个配置文件,可以使用ZenData生成您想要的各种数据。同样也可以对某一个数据文件,指定其数据类型定义的配置文件,完成到结构化数据的解析。 ZenData可以用于手工测试场景下面测试数据的准备,也可以用于自动化测试脚本里面的数据生成和解析,还可一键生成海量数据用于性能和压力测试。

ZenData特性

  1. 简单无依赖,只有一个可执行文件,即可满足命令行生成和HTTP接口两种数据生成服务;
  2. 使用配置文件来生成数据,使用人员不需要有开发知识,即可快速上手应用;
  3. 提供了简明、强大的数据定义语法,如分组、区间、步长、循环、随机、格式化、前后缀、函数和表达式等,配置灵活、扩展方便;
  4. 支持从文本文件中读取数据,方便用户对字段取值进行精确控制;
  5. 提供了Excel表格数据的标准SQL查询接口,数据维护和萃取更加灵活;
  6. 使用预制的序列(ranges)、实例(instances)、配置(config)对定义进行复用,以解决复杂数据的定义;
  7. 语法支持继承和扩展,为数据定义文件间的复用提供方便;
  8. 支持文本、JSON、XML、 CSV、SQL 、Excel、ProtoBuf多种输出格式;
  9. 可反向解析文章生成YAML配置模板;內置互联网黑话中文词库,文章创作方便而又有趣;
  10. 可反向解析二维表格形式的数据,生成结构化数据,方便用于自动化测试脚本中的验证点比对;
  11. 发行包內置了常见的基础业务数据的定义文件;
  12. 提供了HTTP接口形式的数据生成服务API,各种语言都可以方便调用;
  13. 內置Web版设计工具,减缓数据定义语法的学习曲线,数据管理和创作更高效。

2.3版下载地址

  • zd-win64.zip
  • zd-win32.zip
  • zd-linux.zip
  • zd-mac.zip

开源项目 https://github.com/easysoft/zendata

帮助文档 https://www.zendata.cn/book/zendata/why-zendata-115.html

生成时间格式数据

数据定义

fields:
- field: date
from: time.date.v1.yaml
use: date
postfix: " "


- field: cn_date
from: time.date.v1.yaml
use: chinese
postfix: " "


- field: time
from: time.time.v1.yaml
use: time
postfix: " "


- field: time1 # 生成时间数据,以当前时间为准,从一月前到一周后。
range: "(-1M)-(+1w):60"# 支持当前时间的运算,Y、M、D、W、h、m、s分别对应年、月、日、周、时、分、秒。
type: timestamp
format: "YY/MM/DD hh🇲🇲ss"
postfix: "\\t"


- field: time2 # 生成时间数据,指定起止时间的方式,从早上9点到今天结束,间隔1分钟(60秒)。
range: "20210101 000000-20210101 230000:60"# 起始、结束时间用-分隔,默认为当天的开始和结束时间。
type: timestamp
format: "YY/MM/DD hh🇲🇲ss"
postfix: "\\t"


- field: time3 # 只设置一个时间时,默认当作起始时间,结束时间为当前日期的23时59分59秒
range: "20210821 000000:60"# 和20210821 000000-:60效果是一样的
type: timestamp
format: "YY/MM/DD hh🇲🇲ss"
postfix: "\\t"


- field: time4
range: "-20210830 235959:60" # 省略起始时间的用法
type: timestamp
format: "YY/MM/DD hh🇲🇲ss"
postfix: "\\t"


- field: time5 # 生成时间数据,以当前时间为准,从一月前到一周后。
range: "(-1M)-(+1w):60m"# 步长支持Y、M、D、W、h、m、s分别对应年、月、日、周、时、分、秒
type: timestamp
format: "YY/MM/DD hh🇲🇲ss"
postfix: "\\t"


- field: time6 # 生成时间数据,以当前时间为准,从一月前到一周后。
range: "(-1M)-(+1w):1D"# 步长支持Y、M、D、W、h、m、s分别对应年、月、日、周、时、分、秒
type: timestamp
format: "YY/MM/DD hh🇲🇲ss"
postfix: "\\t"


- field: time7 # 生成时间数据,以当前时间为准,从一月前到一周后。
range: "(+1w)-(-1M):-1D"# 步长为-1天
type: timestamp
format: "YY/MM/DD hh🇲🇲ss"
postfix: "\\t"


- field: time8 # 生成时间数据,以当前时间为准,从一月前到一周后。
range: "(+1w)-(-1M):1D"# 设置步长为1天,但是会自动的根据起止时间调整正负,实际为-1天
type: timestamp
format: "YY/MM/DD hh🇲🇲ss"

执行命令

zd -d demo/28_datetime.yaml

执行结果

生成UUID格式数据

数据定义

fields:
- field: field_uuid
format: "uuid(-)"

执行命令

zd -d demo/29_uuid.yaml

执行结果

新增MySQL字段属性的支持

执行命令

zd -i demo/field_test.sql -o demo/output

生成结果

title: table field_test
desc: ""
author: automated export
version: "1.0"
fields:
- field: Bit
range: 0,1
- field: TinyInt
range: 0-255
- field: SmallInt
range: 0-65535
- field: MediumInt
note: "MEDIUMINT [0,2^24-1]"
range: 0-65535
- field: GeometryCollection
range: "GEOMETRYCOLLECTION"
- field: Int
note: "INI [0,2^32-1]"
range: 0-100000
- field: BigInt
note: "BIGINT [0,2^64-1]"
range: 0-100000

数据设计工具

我的数据

 

內置数据

 

数据设计器


相關推薦

2023-04-18

ZenData 3.0 正式版发布,可解析数据库表的列类型、名称和记录,生成相关字段配置。 3.0正式版更新内容 支持从数据库表的列类型生成字段配置; 支持从数据库表的列名称生成字段配置; 支持从数据库表的已有记录生成

2022-06-26

8.android) 支持Graal Native-Image (2.0.8.graal) FASTJSON 2.0.8 版本介绍 经过很多用户在生产环境验证,2.0.8 完全生产可用。对fastjson 1.x也有很好的兼容性,如果不想改代码的同学,可以尝试直接使用2.0.8的兼容包升级,兼容包是计

2024-02-03

MiniFramework 2.10.0 已经发布,超轻量级的PHP框架 此版本更新内容包括: 新增常量 ERROR_PAGE,默认值为空,用于声明自定义错误页面。 新增支持输出自定义错误页的特性。 新增自定义错误页的示例代码。 新增 Mini\Base\Respons

2024-02-03

MiniFramework 2.10 已经发布,超轻量级的国产 PHP 框架 此版本更新内容包括: 版本变化 新增常量 ERROR_PAGE,默认值为空,用于声明自定义错误页面。 新增支持输出自定义错误页的特性。 新增自定义错误页的示例代码。 新

2023-08-10

)。此外,它还计划完成大部分已确定的任务,以达到0.5版本。 可用性: 在可用性方面,MetaGPT 计划发布v0.01版本的 pip包、支持整体保存和恢复软件公司的状态、人工确认和修改流程、支持进程缓存,以及解决代码解析错误等

2022-06-13

Wasmer 官方宣布在推出下一个大版本 Wasmer 3.0 之前先发布了一个 2.3 版本。 Wasmer 是支持 WASI 和 Emscripten 的通用 WebAssembly 运行时,提供基于 WebAssembly 的超轻量级容器,专注于支持在任何平台上运行 WASM 代码:从桌面端到云端、以

2024-06-29

;Navicat Premium Lite 官方网站,通过提供的链接下载最新版本的安装程序。 下载安装包:选择适合你操作系统的版本(Windows、macOS 或 Linux),点击下载。 运行安装程序:下载完成后,双击运行安装程序,按照提示完成安

2024-08-20

言特性上,MoonBit媲美、甚至超越了大部分主流语言的1.0版本;语言特性的开发稳定,开发者可以更广泛地参与到生态建设中来。这里列举几个 MoonBit 的核心特性: 现代化的泛型系统 现代语言复杂性的很大一部分在于类型

2022-09-14

周的时间,Go 后端一站式开发框架 Go-Spring 又发布了新的版本,新版本实现了两个非常重要的特性:动态配置和 Bean 共享。 动态配置 有时候我们想要在不停机的情况下可以修改程序的配置,更改程序的行为,即所谓的“动态配

2023-02-27

向移植到 Conan 1.x,使用最新 1.x 将与 2.0 兼容,并且两个版本的二进制文件不会冲突并且能够在同一个服务器存储库中共存。 新的图形模型 Conan 2.0 定义了新的需求特征和包类型,以更好地表示 C 和 C++ 二进制文件产生的关系,

2023-11-23

基于go-zero开发,为开发中大型后台提供了丰富的功能,支持三端代码生成。 官方自带多种扩展,助力中小企业快速上云,快速迭代。适合用于微服务学习和商用,开源免费。 Simple Admin Core/Job/MCMS/FMS v1.2.3 更新 介绍 核心模块 C

2023-06-16

  Eolink Apikit 已更新 10.9.0 版本,本次版本更新主要是对多个应用级资源合并,并基于此简化付费套餐和降低费率。本次应用合并是为了接下来更好的发挥 Eolink Apikit 的优势,提供 API 全生命周期解决方案,为下半年的重大

2023-02-05

DType://ID。白鲸/白鲸#43368 添加RootlessKit、slirp4netns和VPNKit版本报告。白鲸/白鲸#42330 添加对 SwarmKit 集群卷 (CSI) 的实验性支持。#41982 添加对 SwarmKit 作业的支持。#2907 添加docker stack config命令以输出合并和内插的配置文件,如st

2023-12-18

Light Chaser v0.0.9 已经发布,大屏数据可视化设计器 此版本更新内容包括: Features: 新增配置项模板控件 新增基础表格组件 Bug Fixes: 修复多层级图层复制后图层出现混乱的bug 修复删除元素后undo、redo操作不连续的bug