您现在的位置是:首页 > 文章详情

ZenData 2.2 版本发布,新增时间和 UUID 数据生成,支持 MySQL 字段类型定义

日期:2021-12-17点击:211
ZenData2.2版本发布,优化了多处数据定义语法,新增Uuid格式数据生成,增加对Mysql数据库字段定义的支持.

2.2版更新内容

  • 从SQL生成数据定义时,增加了对MySQL字段类型的支持,如longtext、int等;

  • 新增时间表达式,如year(Y),month(M),day(D),week(w),hour(h),minute(m);

  • 优化UUID数据生成,使用fomat:"uuid(-)"函数表达式
  • 服务请求模式下,去掉生成临时数据文件的步骤,提高并发性能;
  • 修复Use属性下,无法解析多个Instances的问题;
  • 修复loop区间生成的数据的问题;
  • 其他一些问题的修复。

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.2版下载地址

生成时间格式数据

数据定义

 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

数据设计工具

我的数据

內置数据

数据设计器

 

原文链接:https://www.oschina.net/news/174256
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章