内置函数

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。

名称 函数含义 是否需要输入
md5 md5加密
base64 base64加密
unbase64 base64解密
substr 起止 以此开始截取一定长度的字符串
concat 结尾字符串 以此结尾的字符串
lconcat 开头字符串 以此开头的字符串
sha1 sha1加密
sha224 sha224加密
sha256 sha256加密
sha384 sha384加密
sha512 sha512加密
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} 使用正则表达式解析先前的响应