1  为什么开发ZenData
2  ZenData数据生成工具简介
3  如何获得支持
4. 快速入门
4.1  安装部署
4.2  将ZenData加入系统环境变量中(可选)
4.3  命令行参数说明
4.4  命令行调用示例
4.5  內置数据定义示例
4.6  YAML定义语法总览
5. 用户指南
5.1. 数据定义语法
5.1.1  区间
5.1.2  步长
5.1.3  随机
5.1.4  重复
5.1.5  循环
5.1.6  循环支持区间
5.1.7  格式化
5.1.8  函数处理
5.1.9  字面常量
5.1.10  前后缀
5.1.11  分隔符
5.1.12  宽度
5.1.13  嵌套
5.1.14  嵌套字段递归
5.1.15  字段结果随机
5.1.16  文本文件数据
5.1.17  Excel数据查询
5.1.18  时间表达式
5.1.19  值表达式
5.2. 內置数据定义
5.2.1  系列定义
5.2.2  实例定义
5.2.3  实例间无限级嵌套
5.3. 用户数据自定义
5.3.1  自定义Config
5.3.2  扩展现有定义
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.8.3.1  关于客户端
5.8.3.2  加载已有数据文件
5.8.3.3  管理我的数据
5.8.3.4  管理內置数据
5.8.3.5  数据设计页面
5.8.3.6  数据区间编辑
5.8.3.7  数据引用编辑
5.9  ZenData自动升级
6. 内置数据一览
6.1  使用命令查看內置数据
6.2. 预置Excel数据
6.2.1  国家
6.2.2  地址
6.2.3  人名
6.2.4  颜色
6.2.5  中文词语
6.2.6  城市区号
6.2.7  公司名称
6.2.8  成语
6.2.9  歇后语
6.2.10  古诗
6.2.11  歌曲
6.2.12  玩笑
6.2.13  动植物
6.2.14  食物
6.2.15  水果
6.3  內置数据定义

值表达式

2020-11-03 13:44:00
陈琦
6559
最后编辑:陈琦 于 2021-09-29 10:19:23
分享链接

值表达式提供了引用其他字段的功能,可以通过关键字value达到目的。示例如下:

title: 标题
desc: 描述
fields:
  - field: field_step_negative
    range: 9-1:-2
    prefix: "["
    postfix: "]\t"
  - field: field_value_expression
    value: "$field_step_negative * 3 + 1000"
    prefix: "["
    postfix: "]\t"
    length: 20
`field_value_expression`字段的value属性,通过表达式`$field_step_negative * 3 + 1000`,引用了相同YAML文件中的其他字段,进行数学运算,也支持引用值为字符串类型的字段并进行字符串的拼接操作。

对于每个字段来说,字段的类型为最能涵盖所有该字段所有数据的类型,例如:一个字段既有数值又有字符串,该字段的类型为字符串。对于值表达式的字段来说,类型由引用的所有字段共同决定,鉴于值表达式目前只支持数值和字符串两种类型,所以只要值表达式引用的字段都为数值类型并且表达式中只有数值和运算符存在,则表达式的类型为数值类型,会进行数值运算,否则表达式的类型为字符串类型,表达式会进行字符串拼接运算。

评论列表
Sean 2022-10-20 10:52:46
表达式使用的什么语言?能否支持一些常用的函数,比如:字符串的substring, length;数字的max, min等。
PS:写评论时按左右方向键会跳转页面,之前的都白写了。。。
陈琦 2022-11-03 08:14:14
表达式使用的是https://github.com/Knetic/govaluate,请在github上提一个issue具体描述下您的需求。
阿刚 2021-06-20 22:07:04
试了一下值表达式,示例中的字段field_step_negative可以输出,但另一字段field_value_expression生成为空,为何?
陈琦 2021-08-12 09:11:29
经测试,最新版可生成一下的值,请确认。
[9] [ 1027]
[7] [ 1021]
[5] [ 1015]
1/1
发表评论
评论通过审核后显示。