【JMeter】一些有用的函数和方法

相关文章:【JMeter】Beanshell Sampler 常用方法

1、获取当前线程的名称

ctx.getThread().getThreadName()

有两种方法,可以直接用一个函数:

${__BeanShell(ctx.getThread().getThreadName().toString(),)}

也可以在beanshell里写脚本:

import org.apache.jmeter.util.JMeterUtils; 
 
String threadinfo = ctx.getThread().getThreadName().toString();
log.info("threadinfo---"+threadinfo);

2、保存变量到文件中

下面以保存 cookies 为例,其它变量是类似的.

import java.lang.String;
import java.io.*;
 
String str = "${COOKIE_xxx},${COOKIE_xxx}\r\n";  //拼接cookie字符串
log.info("cookieStr: " + str);

FileWriter writer = null;
writer = new FileWriter("cookies.csv", true);  //若文件不存在则创建,若文件存在则追加
writer.write(str);
writer.close();
//log.info("save cookie in file success!");

3、保存变量到全局属性中

# props.put() 保存变量到属性中,如:
props.put("access_token","${access_token}");

4、获取属性值

# props.get() 从属性中取出变量值:
String access_token = props.get("access_token");

# "${__P()}" 从属性中取出变量值:
${__P(access_token,)}

以上两种方式都可以从属性中取出 access_token 的值。

5、使用 CookieManager 自定义 cookie 信息

jmeter 中可以用 cookie 管理器来添加 cookie 信息;

也可以通过 beanshell 脚本,使用 CookieManager 自定义 cookie 信息。

示例如下:

import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;
 
CookieManager manager = sampler.getCookieManager();

String s="\""+"${COOKIE_user_id}"+"\"";
log.info("s---"+s);

Cookie cookie = new Cookie("user_id",s,"${ip}","/",false,0);
manager.add(cookie);

Cookie cookie = new Cookie("app_id","${app_id}","${ip}","/",false,0);
manager.add(cookie);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值