背景

平时工作中经常会碰到需要构造大量测试数据的场景,造数也需要尽可能的符合真实数据,手动构造耗时耗力,特别是项目工期紧时,造数任务重时,人工造数压力会很大,而且容易出错。虽然也有通过脚本方式可以做自动化批量造数,但是需要提前花费时间去开发脚本,数据测试会涉及到多张表,那就可能每张表都要开发脚本,并且需要具备一定的代码编写能力。那如果能有自动配置表字段,自动依据设定好字段规则去生成测试数据,而不依赖任何脚本或开发工具,那会给造数工作带来很大的便利。

基本操作流程

新建数据源 --> 配置表字段生成规则 --> 写入数据

操作说明

新建数据源

目前支持数据源类型:MySQL、clickhouse
使用数据生成的前提需要新建一个数据源,输入对应信息保存即可。

配置字段规则

规则大类 规则名称
通用 正则表达式、布尔值、整数、数字字符串、浮点数、UUID、数字字母替换、日期、日期时间、时间戳
个人 姓名、银行卡、居民身份证、手机号、邮箱、中国护照、香港身份证、性别、婚姻状况、职位名称、民族
位置 省份、详细地址、城市
企业 企业名称、部门名称、行业、经营范围
电脑 图片地址、User-Agent、ipv6、内网 ipv4、公网 ipv4、macAddress、password、hex、md5、sha1、sha256、sha512
其他 无规则

通用类

1.通用 / 正则表达式 / 表达式

此处可以保存的正则,方便后续使用。

2.通用 / 序列 / 开始值, 递增值

3.通用 / 整数 / 最小值, 最大值

4.通用 - 浮点数

5.通用 / 日期 / 最小日期,最大日期

7.通用 / 数字字符串 / 位数

8.通用 / 数字字母替换 / # 替换数字?替换字母

通用类中其他规则就不一一举例了。

个人类

个人 / 姓名

银行卡、居民身份证、手机号、邮箱、中国护照、香港身份证、性别、婚姻状况、职位名称、民族等生成结果如字面意思。

位置类

位置 / 城市

省份、详细地址等生成结果如字面意思。

企业类

企业 / 企业名称

部门名称、行业、经营范围等生成结果如字面意思。

电脑类

电脑 / 内网 ipv4

图片地址、User-Agent、ipv6、公网 ipv4、macAddress、password、hex、md5、sha1、sha256、sha512 等生成结果如字面意思。

其他类

其他 / 无规则 / 生成结果,输入的是什么值,生成的就是什么值。

关联其他表字段生成数据

1.选择其他表,选择后查询是否有表数据,有数据才再进行字段的选择。
2.选择表字段。
3.不加过滤条件的查询结果 =(select 表字段 from 表名),如果关联表字段的值需要过滤,可以在过滤条件内写入 where 语句。

关联当前表字段生成数据

不映射时,选择当前表字段,生成结果=当前表字段的值。
ex:选择当前表字段 tag_1017,tag_1017 生成的值=01 时,当前字段的生成值=01。

映射时,生成结果=当前表字段的值根据 JSON 转换的值。

// 列子JSON
[
    {
        "code":"01",
        "name":"企业"
    },
    {
        "code":"02",
        "name":"个体户"
    }
]

ex:选择当前表字段 tag_1017,tag_1017 生成的值=01 时,当前字段的生成值=企业。

关联文件生成数据

限制 1:关联的文件只能上传单个 xls、xlsx 文件,且不超过 5M。
限制 2:文件内容首行表头必须有字段名和当前配置的字段名相同,如此时配置 tag_1120,则文件首行就需要有 tag_1120 的表头。

新建映射

生成的字段配置完成之后,可以通过新建映射的方式保存配置规则,方便下次再生成该表数据时,直接能引用映射,无需再配置一遍。

映射引用

当前数据源下,所有保存的映射都会在映射列表内显示。选择某个映射确定后,该映射内容会覆盖当前表字段配置。
在映射列表中通过点击详情按钮可查看映射内容的详细信息。

导出数据

导出数据到 execl。
跟进当前数据源类型来决定是导出数据到 clickhouse 还是导出数据到 MySQL。


↙↙↙阅读原文可查看相关链接,并与作者交流