内置函数

1 内置 MOCK 函数

1.1 基础变量

名称变量说明
布尔值@bool随机生成一个布尔值

1.2 字符串

名称变量说明
字符池@character(pool)从字符串池返回随机的字符
随机小写字符@character(pool)返回一个随机的小写字符
随机大写字符@character(‘upper’)返回一个随机的大写字符
特殊符号@character(‘upper’)返回一个随机的特殊符号
字符串@string(1,10)从字符串池返回一个随机字符串,字符数1-10

1.3 个人信息

名称变量说明
身份证号@idCard随机生成一个身份证号(生成的身份证号码并不一定是真实有效)
随机小写字符@idCard(birth)指定月份身份证号,例:19990907(生成的身份证号码并不一定是真实有效)
手机号@phoneNumber随机生成一个手机号(生成的手机号码并不一定是真实有效)

1.4 日期/时间

名称变量说明
日期@date(‘yyyy-MM-dd’)返回一个随机的日期字符串。例:1983-01-29
时间@time(‘HH:mm:ss’)返回一个随机的时间字符串。 例:20:47:37
日期时间@dateTime(‘yyyy-MM-dd HH:mm:ss’)返回一个随机的日期和时间字符串。例:1977-11-17 03:50:15
当前日期时间@now(‘yyyy-MM-dd HH:mm:ss’)返回当前日期字符串。例:2014-04-29 20:08:38

1.5 中文姓名

名称变量说明
中文名@cfirst随机生成一个常见的中文名
中文姓@clast随机生成一个常见的中文姓
中文姓名@cname随机生成一个常见的中文姓名

1.6 英文姓名

名称变量说明
英文名@first随机生成一个常见的英文名
英文姓@last随机生成一个常见的英文姓
英文姓名@name随机生成一个常见的英文姓名

1.7 中文文本

名称变量说明
大段文本@cparagraph随机生成一段中文文本
句子@csentence随机生成一个中文句子
单字@cword随机生成一个汉字
标题@ctitle随机生成一个中文标题

1.8 英文文本

名称变量说明
大段文本@paragraph随机生成一段英文文本
句子@sentence随机生成一个句子,第一个单词的首字母大写
单词@word随机生成一个单词
标题@title随机生成一个标题

1.9 web 变量

名称变量说明
网址@url(‘http’)随机生成一个http URL
协议@protocol随机生成一个 URL 协议。例:http ftp
域名@domain随机生成一个域名
顶级域名@tld随机生成一个顶级域名。例:net
邮件地址@email随机生成一个邮件地址
IP 地址@ip随机生成一个IP地址

1.10 数字

名称变量说明
自然数@natural返回一个随机的自然数
1-100自然数@natural(1,100)返回一个随机的1-100的自然数(大于等于 1 的整数)
整数@integer返回一个随机的整数
1-100整数@integer(1,100)返回随机的1-100的整数
浮点数@floatNumber( 1, 10, 2, 5 )返回一个随机的浮点数,整数1-10,小数部分位数的最小值2,最大值5
整型数组@range(1,100,1)返回一个整型数组,参数分别:start:起始值,stop:结束值,step:步长

1.11 地区

名称变量说明
区域@region随机生成一个(中国)大区。例:华北
省份@province随机生成一个(中国)省(或直辖市、自治区、特别行政区)
城市@city随机生成一个(中国)市
地区@county随机生成一个(中国)县
省份/市/县@county(true)随机生成一个(中国)县(带省市)。例:甘肃省 白银市 会宁县
邮编@zip随机生成一个邮政编码

1.12 颜色

名称变量说明
颜色@color随机生成颜色,格式为 ‘#RRGGBB’
RGB@rgb随机生成颜色,格式为 ‘rgb(r, g, b)’
RGBA@rgba随机生成颜色,格式为 ‘rgba(r, g, b, a)’
HSL@hsl随机生成颜色,格式为 ‘hsl(h, s, l)’

1.13 正则表达式

名称变量说明
正则表达式@regexp根据正则表达式返回结果

1.14 函数

函数基于 MOCK 类型添加函数,例:@email|md5。

名称函数含义是否需要输入
md5md5加密
base64base64加密
unbase64base64解密
substr起止以此开始截取一定长度的字符串
concat结尾字符串以此结尾的字符串
lconcat开头字符串以此开头的字符串
sha1sha1加密
sha224sha224加密
sha256sha256加密
sha384sha384加密
sha512sha512加密
lower字母小写
upper字母大写
length数据长度
number字符串转数字

2 内置 JMeter 函数

2.1 变量

变量说明
${RandomFromMultipleVars}从由|分隔的一组变量的值中提取元素
${split}将字符串拆分为变量
${eval}计算变量表达式
${evalVar}计算存储在变量中的表达式
${__V}评估变量名

2.2 编码

变量说明
${escapeHtml}使用 HTML 编码对字符串进行编码
${escapeXml}使用 XML 编码对字符串进行编码
${unescape}处理包含 Java 转义符的字符串(例如 \n 和 \t)
${unescapeHtml}解码 HTML 编码的字符串
${urldecode}解码 application/x-www-form-urlencoded 字符串
${urlencode}将字符串编码为 application/x-www-form-urlencoded 字符串

2.3 脚本

变量说明
${groovy}运行 Apache Groovy 脚本
${BeanShell}运行 BeanShell 脚本
${unescape}处理包含 Java 转义符的字符串(例如 \n 和 \t)
${javaScript}处理 JavaScript (Nashorn)
${jexl2}评估 Commons Jexl2 表达式
${jexl3}评估 Commons Jexl3 表达式

2.4 时间

变量说明
${time}以各种格式返回当前时间
${timeShift}返回各种格式的日期,并添加指定的秒/分钟/小时/天
${dateTimeConvert}将日期或时间从源格式转换为目标格式
${RandomDate}生成特定日期范围内的随机日期

2.5 属性

变量说明
${isPropDefined}测试属性是否存在
${property}读取属性
${P}读取属性(简写方法)
${setProperty}设置 JMeter 属性
${__isVarDefined}测试变量是否存在

2.6 数字

变量说明
${counter}生成一个递增的数字
${intSum}添加 int 数字
${longSum}添加长数字
${Random}生成一个随机数

2.7 文件

变量说明
${StringFromFile}从文件中读取一行
${FileToString}读取整个文件
${CSVRead}从 CSV 分隔文件中读取
${XPath}使用 XPath 表达式从文件中读取
${__StringToFile}将字符串写入文件

2.8 信息

变量说明
${digest}生成摘要(SHA-1、SHA-256、MD5…)
${threadNum}获取线程组号
${threadGroupName}获取线程组名称
${samplerName}获取采样器名称(标签)
${machineIP}获取本机IP地址
${machineName}获取本地机器名
${__TestPlanName}返回当前测试计划的名称

2.9 字符串

变量说明
${log}记录(或显示)一条消息(并返回值)
${logn}记录(或显示)一条消息(空返回值)
${threadGroupName}获取线程组名称
${RandomString}生成一个随机字符串
${UUID}随机生成一个 UUID
${char}从数字列表生成 Unicode 字符值
${changeCase}根据不同模式更改大小写
${regexFunction}使用正则表达式解析先前的响应