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