内置函数
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} |
使用正则表达式解析先前的响应 |