Jmeter中各种函数
${__functionName(var1,var2,var3)}
无参数时,可以直接写成${__functionName}
Tips:
- 如果参数包含逗号,那么一定要使用
\来转义,否则 JMeter 会把它当作一个参数分隔符; - 实际使用时,一般通过函数助手对话框来生成函数字符串,不容易出错。
JMeter 中的函数主要分为如下几类:
函数类型 函数名称 函数作用 启用版本
获取信息函数
__TestPlanName 返回当前测试计划的名称 ${__TestPlanName}
__threadGroupName 返回当前线程组的名称 4.1
__threadNum 返回当前正在执行的线程的编号 1.X
__samplerName 返回当前请求的名称 2.5
__log 输出日志信息 2.2 输出函数的输入字符串
__time 以多种格式返回当前时间 2.2
${__log(Message)}:写入日志文件,形如 "...thread Name : Message"。
${__log(Message,OUT)}:写到控制台窗口。
${__log(${VAR},,,VAR=)}:写入日志文件,形如"...thread Name VAR=value"。
YMD = yyyyMMdd。
HMS = HHmmss。
YMDHMS = yyyyMMdd-HHmmss。
USER1 = JMeter属性time.USER1。
USER2 = JMeter属性time.USER2。
用户可以通过修改JMeter属性来改变默认格式,例如,time.YMD=yyMMdd
${__time()} 返回'1548133155689'
${__time(YMD,)} 返回'20190128'
${__time(dd/MM/yyyy,)} 返回'22/01/2019'
数据输入函数
__StringFromFile 从文本文件中读取字符串,用于从文本文件中读取字符串,每次读取一行,支持读取多个文件。每次调用读取一行 1.9
文件名 文件名的路径 (路径可以相对于 JMeter 启动目录)。
如果使用序列号,路径名称应该适合传递到 DecimalFormat。 是
变量名 用于后续调用该函数的变量名称 否
启动序号 初始序列号(如果省略,则将结束序列号视为循环计数) 否
末端序号 最终序列号(如果省略,序列号可以无限制地增加) 否
读取单个文件:
${_StringFromFile(demo.txt,,,)} 读取demo.txt
读取多个文件,需要在文件名中使用序列号:
${_StringFromFile(PIN.DAT,,,2)} 读取 PIN.DAT 两次
${_StringFromFile(PIN#'.'DAT,,1,3)} 读取 PIN1.DAT PIN2.DAT PIN3.DAT
${_StringFromFile(pin000'.'dat,,6,8)} 读取 pin006.dat pin007.dat pin008.dat
使用序列号时,路径名被用作 java.text.DecimalFormat 的格式字符串。当前序列号作为唯一参数传入。如果未指定开始序列号,则按原样使用路径名称。
__FileToString 把文件读取成一个字符串,每次调用都是读取整个文件 2.4
__CSVRead 返回当前正在执行的线程的编号 1.9
__XPath 使用 XPath 语法匹配 XML文件 2.0
数据计算函数
__counter 计数器函数 1.9
__intSum 对多个整数求和 1.8.1
__longSum 长整型求和 2.3.2
__Random 返回指定最大值和最小值之间的随机整数 1.9
__RandomDate 返回给定开始日期和结束日期值之间的随机日期 3.3
_RandomString 根据给定的字符生成指定长度的随机字符串 2.6
__UUID 通用唯一标识符函数 2.9
属性信息函数
__isPropDefined 判断属性是否存在 4.0
__property 对多个整数求和 1.8.1
__P 简化的属性函数,用于与命令行上定义的属性一起使用 2.0
__setProperty 简化的属性函数,用于与命令行上定义的属性一起使用 2.0
字符串操作函数 __split 根据分隔符拆分字符串为多个变量 2.0.2
__changeCase 转换大小写 4.0
__regexFunction 使用正则表达式解析之前的响应结果 1.X
脚本函数
__BeanShell 执行 beanshell 脚本 1.X
__javaScript 执行 js 脚本 1.9
${__property(user.dir)} 返回 user.dir 的值。
${__property(user.dir,UDIR)} 返回 user.dir 的值,并保存在变量 UDIR 中。
${__property(abcd,ABCD,atod)} 返回属性 abcd 的值,如果该属性未定义则返回 atod,并保存在变量 ABCD 中。
${__property(abcd,,atod)} 返回属性 abcd 的值,如果该属性未定义则返回 atod,不保存结果值。
定义字符串: VAR="a||c|" 调用 split 函数: ${__split(${VAR},VAR,|)} 返回 "a||c|",并生成如下变量: VAR_n=4 VAR_1=a VAR_2=? VAR_3=c VAR_4=? VAR_5=null
UPPER--转换成大写字母:
${__changeCase(Avaro omnia desunt\, inopi pauca\, sapienti nihil,UPPER,)}
返回 AVARO OMNIA DESUNT, INOPI PAUCA, SAPIENTI NIHIL
LOWER--转换成小写字母:
${__changeCase(LABOR OMNIA VINCIT IMPROBUS,LOWER,)}
返回 labor omnia vincit improbus
CAPITALIZE--单词首字母大写:
${__changeCase(omnibus viis romam pervenitur,CAPITALIZE,)}
返回 Omnibus viis romam pervenitur
Jmeter中各种函数的更多相关文章
- jmeter中的函数
1.函数帮助 1.tool-------->function helper dialog 可以查看函数帮助 2.jmeter中的函数 1.函数格式 ${__funcctionname(var ...
- JMeter 中_time 函数的使用(时间戳、当前时间)
有时在接口测试时,其参数需要为时间戳或者是日期格式的数据.针对此问题,可以使用JMeter自带的_time 函数来解决以上问题 操作步骤: 1.通过函数助手,生成一个_time 函数: 2.如果参数为 ...
- Jmeter中使用外部的java文件
感觉在Jmeter中使用外部的Java文件比较方便,语法一样,而且可以直接引用,所以个人觉得这个功能还是蛮重要的,特别是在使用Jmeter的过程中,可能需要结合一定的业务场景进行判断等,那使用Jmet ...
- Jmeter中的参数化常用的几种方式
Jmeter中的参数化常用的几种方式,这里讲一下前两个方式,最后一个在csv参数化里已详细讲解. 1.用户参数 2.函数助手 3.CSV Data Set Config 一.用户参数 位置:添加-前 ...
- Jmeter函数助手中添加自定义函数
最近,群里的牛肉面大神有个需求,是将每个post请求的body部分做一个加密操作,其实这个需求不算难,用beanshell引入加密函数的包,然后调用就行了.只是,如果请求多了,每次都要调用一下自己加密 ...
- jmeter 参数化4_Function Helper中的函数
Function Helper中的函数: 可作为其他参数化方式的补充项,如:随机数生成的函数${__Random(,,)} 操作路径:操作路径:Options-->Function Helpe ...
- jmeter 中的 Beanshell 使用
一.操作变量:通过使内置对象vars可以对变量进行存取操作 a) vars.get("name"):从jmeter中获得变量值 b) vars.put("key" ...
- Jmeter中的几个重要测试指标释义
一.基本概念 1.测试计划是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器. 2.线程组:代表一定数量的并发用户,它可以用来模拟并发用户发送请求.实际的请求内容在Sampl ...
- 在Jmeter中使用自定义编写的Java测试代码
我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定义脚本的协议,比如"C Vuser","Java ...
随机推荐
- 理解BurpSuit Intruder几种攻击方式
Intruder标签下有四种攻击方式 Sniper Battering Ram Pitchfork Cluster Bomb 假设用户名密码词典分别如下: user1,user2,usre3 pass ...
- 牛客练习赛26 D xor序列 (线性基)
链接:https://ac.nowcoder.com/acm/contest/180/D 来源:牛客网 xor序列 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他 ...
- AI换脸教程:DeepFaceLab使用教程(2.训练及合成)
如果前期工作已经准备完毕(DeepFaceLab下载(https://www.deepfacelabs.com/list-5-1.html),然后安装相应的显卡驱动,DeepFaceLab使用教程(1 ...
- JS - this 总结
this指向最后调用该函数的对象 // 示例一: var name = "windowsName"; function a() { var name = "Cherry& ...
- calculate_gain
torch.nn.init.calculate_gain(nonlinearity,param=None) 对于给定的非线性函数,返回推荐的增益值.这些值如下所示: relu_gain=nn.init ...
- Java基本的程序结构设计 控制流程
控制流程 java的控制流程和C和C++基本一致,只是不能使用goto语句,不过break语句可以带标签,实现从内层循环跳出的目的.标签可以放在for或者while前面.如下: package com ...
- numpy模块、matplotlib模块、pandas模块
目录 1. numpy模块 2. matplotlib模块 3. pandas模块 1. numpy模块 numpy模块的作用 用来做数据分析,对numpy数组(既有行又有列)--矩阵进行科学计算 实 ...
- python之路day15--内置函数
函数分为自定义函数和内置函数 python内置函数分类: 5.5.1 强制转换 int() / str() / bool() / list() / tuple() / dict() / set() 5 ...
- sql server 表2字段更新到表1,mysql
UPDATE kingdee_pro_stock set kingdee_pro_stock.org_name=ERP_BASIC_BILLNO_PREFIX.org_name,kingdee_pro ...
- 在线PDF的实现 纯js
/// <summary> /// 使用微软的TransmitFile下载文件 /// </summary> /// <param name="filePath ...