Skip to the content.

如何定义

在 用例集、用例、取样器中,可通过 variables 定义变量

变量引用方式:${变量名}

testclass: httpsampler
variables:
    var1: value1
config:
    body:
        name: ${var1}

在执行过程中会自动将 name的值替换为变量var1的值value1

函数

当 一个数据的值需要动态生成时,可通过函数在测试过程中动态生成

函数引用方式:__函数名称(参数1,参数2,参数3,……) 或 __函数名称(参数1=val1,参数2=val2,参数3=val3,……)

当使用第一种引用方式时,需严格按照函数实现时设置的参数顺序来定义参数

testclass: httpsampler
variables:
    var1: __RandomString(10)
config:
    body:
        name: ${var1}
        password: __RandomString(length=10,string=abcdefghijklmn1234567890)

在执行过程中会自动先执行函数生成 变量var1的值,再将name的值替换为变量var1的值

内置函数

Digest

生成信息摘要,通常为MD5,支持四个参数

 参数:
 * algorithm: 算法,允许为空,默认为md5
 * content: 待编码的原始内容,非空
 * salt:盐,允许为空
 * upper: 是否将结果转为大写,允许为空,默认 false

GoogleAuthCode

生成谷歌身份验证器的验证码,支持一个参数

 参数:
 * secret: 谷歌验证器安全码,非空,通过该安全码生成谷歌验证码

Json

将传入的参数转换为 json对象

无固定参数,仅支持keyword形式,将参数转换为 json对象

JsonRead

通过 json path 读取数据

 参数
 * json: json对象
 * path: jsonpath

Random

生成(伪)随机数,支持一个参数

 参数:
 * bound: 最大值,允许为空,当传入的bound值小于1或空值时,则不限制返回的数据(可能为正数,也可能为负数)

RandomString

获取随机字符串,支持三个参数,且三个参数都允许为空

 参数:
 * length: 返回的随机字符串长度,允许为空,默认:10
 * string: 基础字符串,允许为空,如果传了该参数,则从该参数中获取字符作为种子生成随机字符串
 * upper: 是否将生成的字符串转为大写,允许为空,默认:false

TimeShift

对时间进行操作,支持两个参数,且两个参数都允许为空,当两个参数都未传递时,则返回当前时间戳

 参数:
 * format: 指定日期时间格式,如果该参数未传递,则返回时间戳
 * amount: 表示要从日期参数的值中添加或减去多少天,几小时或几分钟。如果该值未被传递,则不会将任何值减去或添加到日期参数的值中。
     * PT20.345S: 解析为 20.345秒
     * PT15M: 解析为 15分钟
     * PT10H: 解析为 10小时
     * P2D: 解析为 2天
     * P2DT3H4M: 解析为 2天3小时4分钟
     * P-6H3M: 解析为 -6小时+3分钟
     * -P6H3M: 解析为 -6小时-3分钟
     * -P-6H+3M: 解析为 +6小时-3分钟

Timestamp

获取当前时间,支持一个参数,当格式化参数未传递时,则返回当前时间戳

 参数:
 * format: 指定日期时间格式,如:yyyy-MM-dd、yyyy-MM-dd HH:mm:ss、yyyyMMdd、yyyyMMddHHmmss

UrlDecode

将传入的字符串进行 url decode,支持一个参数

 参数:
 * content: 待url decode的字符串,非空

UrlEncode

将传入的字符串进行 url encode,支持一个参数

参数:
 * content: 待url encode的字符串,非空

Uuid

返回一个UUID,无参数

Faker

使用 JavaFaker 库生成假数据,支持两个参数

参数:
 * key:假数据类型,格式为JavaFaker 库的 ClassName.MethodNmae,如:Name.fullName,详细请参考 http://dius.github.io/java-faker/apidocs/index.html
 * locale:本地化,允许为空,默认值 zh-CN,详见:https://github.com/DiUS/java-faker/blob/master/README.md