jmeter 常用内置变量

本文介绍了如何在JMeter中使用各种变量如JMeterVariables、JMeterContext及属性设置,并展示了SampleResult对象的典型用法。通过具体示例说明了如何获取线程数、响应码等关键信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. vars   API:http://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterVariables.html

  vars.get("");

  vars.put("",XXX);

2. log

  log.info("xxx");

 

3.ctx   API:http://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterContext.html

  ctx.getThreadNum()

 

4.props 

  encoding = props.get("sampleresult.default.encoding");
  log.info("sampleresult.default.encoding="+encoding);

 

5.prev  API:http://jmeter.apache.org/api/org/apache/jmeter/samplers/SampleResult.html

System.out.println(prev.getResponseCode());
System.out.println(prev.getResponseDataAsString());
prev.setResponseCode("222");
System.out.println(prev.getResponseCode());
prev.setResponseMessage("qiaoyeye你好");
System.out.println(prev.getResponseMessage());
prev.setResponseData("qiaoyeye你好","UTF-8");
System.out.println(prev.getResponseDataAsString());
System.out.println(${port});
System.out.println(ctx.getThreadNum());

 

1 log.info("内置变量");
2 ipString = vars.get("ip");
3 log.info("ipString="+ipString);
4 vars.put("newip",ipString);
5 log.info("newip="+vars.get("newip"));
6 encoding = props.get("sampleresult.default.encoding");
7 log.info("sampleresult.default.encoding="+encoding);

 

转载于:https://www.cnblogs.com/linbo3168/p/9260514.html

### JMeter 常用函数及其用法 JMeter 提供了丰富的内置函数,这些函数可以用于生成动态数据、处理字符串、执行数学运算等。以下是 JMeter常用的函数列表及其使用示例。 #### 1. 随机数生成函数 `__Random` `__Random` 函数用于生成指定范围内的随机数。可以通过此函数生成动态的测试数据。 - **语法**: `${__Random(min,max,[variableName])}` - **示例**: 生成 1000 到 9999 的随机数,并赋值给变量 `num`: ```jmeter ${__Random(1000,9999,num)} ``` 使用该变量时可以直接引用 `${num}`[^4]。 #### 2. 时间戳函数 `__time` `__time` 函数用于生成当前时间的时间戳,常用于模拟动态时间参数。 - **语法**: `${__time([format])}` - **示例**: 获取当前时间的时间戳: ```jmeter ${__time()} ``` 如果需要特定格式的时间(如 `yyyy-MM-dd HH:mm:ss`),可以指定格式: ```jmeter ${__time(yyyy-MM-dd HH:mm:ss)} ``` #### 3. 变量嵌套函数 `__V` `__V` 函数用于支持变量嵌套,解决早期版本中无法直接嵌套变量的问题。 - **语法**: `${__V(variableName)}` - **示例**: 假设变量 `VarN` 的值为 `num`,通过以下方式可以实现嵌套变量: ```jmeter ${__V(Var${N})} ``` 这将解析为 `${num}` 的值[^2]。 #### 4. 属性获取函数 `__P` `__P` 函数用于获取 JMeter 属性值,可以在无界面模式下通过命令行传递参数。 - **语法**: `${__P(propertyName,[defaultValue])}` - **示例**: 在命令行中设置属性 `variable=500`,并在脚本中使用: ```bash jmeter -Jvariable=500 -n -t test.jmx ``` 脚本中使用: ```jmeter ${__P(variable,100)} ``` 如果未设置 `variable`,则返回默认值 `100`[^3]。 #### 5. 字符串替换函数 `__strReplace` `__strReplace` 函数用于在字符串中查找并替换指定内容。 - **语法**: `${__strReplace(searchString,replaceString,inputString,[ignoreCase],[recursive])}` - **示例**: 将字符串中的 `old` 替换为 `new`: ```jmeter ${__strReplace(old,new,This is old text,false,false)} ``` 输出结果为:`This is new text`。 #### 6. URL 编码/解码函数 `__urlencode` 和 `__urldecode` 这两个函数分别用于对字符串进行 URL 编码和解码操作。 - **语法**: - 编码: `${__urlencode(string)}` - 解码: `${__urldecode(string)}` - **示例**: 对包含特殊字符的字符串进行编码: ```jmeter ${__urlencode(This is a test!)} ``` 输出结果为:`This%20is%20a%20test%21`。 #### 7. CSV 文件读取函数 `__CSVRead` `__CSVRead` 函数用于从 CSV 文件中读取数据,适用于参数化测试场景。 - **语法**: `${__CSVRead(file_name,column_index)}` - **示例**: 假设文件名为 `data.csv`,第一列数据可以通过以下方式读取: ```jmeter ${__CSVRead(data.csv,0)} ``` #### 8. Base64 编码/解码函数 `__base64Encode` 和 `__base64Decode` 这两个函数分别用于对字符串进行 Base64 编码和解码操作。 - **语法**: - 编码: `${__base64Encode(string)}` - 解码: `${__base64Decode(encoded_string)}` - **示例**: 对字符串 `hello` 进行 Base64 编码: ```jmeter ${__base64Encode(hello)} ``` 输出结果为:`aGVsbG8=`。 #### 9. 数学运算函数 `__intSum` 和 `__doubleSum` 这两个函数分别用于执行整数和浮点数的加法运算。 - **语法**: - 整数加法: `${__intSum(arg1,arg2,...)}` - 浮点数加法: `${__doubleSum(arg1,arg2,...)}` - **示例**: 计算两个整数之和: ```jmeter ${__intSum(10,20)} ``` 输出结果为:`30`。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值