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 ...
随机推荐
- java 死锁演示
java 死锁演示 java死锁 模拟死锁生成 死锁是由多个线程竞争同一个资源导致 package com.feshfans; /** * 1. 本代码为展示 java 中死锁的产生 * 2. 死锁的 ...
- H5手机端开发问题汇总及解决方案
前言 少侠,请留步,相见必是缘分,赠与你一部<踏坑秘籍> 扎马步 踏坑第一式 ios竖屏拍照上传,图片被旋转问题 解决方案 // 几个步骤 // 1.通过第三方插件exif-js获取到图片 ...
- Docker(2)--Centos7 上安装部署
Centos7 上安装docker Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比 ...
- docker开启远程tcp监听端口
linux 测试成功 cat > /etc/systemd/system/docker.service.d/tcp.conf <<EOF [Service] ExecStart= E ...
- Q15格式表示负小数
1.用Q15.16-bit格式,表示出-0.5? 解析:其实很简单,Q15是dsp里为了优化浮点的,就是将小数* 2^15. 例如:0.333 * 32768 = 10911.744 取整数就是10 ...
- Spring Boot教程(二)关于RabbitMQ服务器整合
准备工作 15min IDEA maven 3.0 在开始构建项目之前,机器需要安装rabbitmq,你可以去官网下载,http://www.rabbitmq.com/download.html ,如 ...
- i++ 是线程安全的吗
相信很多中高级的 Java 面试者都遇到过这个问题,很多对这个不是很清楚的肯定是一脸蒙逼.内心肯定还在质疑,i++ 居然还有线程安全问题?只能说自己了解的不够多,自己的水平有限. 先来看下面的示例来验 ...
- 快速排序和二分查找(Javascript)
var data = [8, 3, 4, 1, 18, 22, 11, 3, 5, 6, 2, 1, 77] quickSort(data, 0, data.length - 1) console.l ...
- linux下libusb的安装与测试
0.libusb的介绍:参考[1] 1.环境:vmware_fedora_10(linux-2.6.x) 2.获取源代码:http://sourceforge.net/projects/libusb/ ...
- java基础--单例模式的7种实现【转载】
转载:http://www.blogjava.net/kenzhh/archive/2013/03/15/357824.html 第一种,线程不安全(懒汉模式) 1 public class Sing ...