目录
1、获取当前线程的名称 ctx.getThread().getThreadName()
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("cookies0722.csv", true); //若文件不存在则创建,若文件存在则追加
writer.write(str);
writer.close();
//log.info("save cookie in file success!");
3、保存变量到全局属性/变量中
# props.put() 保存变量到属性中
props.put("access_token","${access_token}");
# props.get() 或 ${__P()} 从属性中取出变量值
String access_token = props.get("access_token");
${__P(access_token,)}
# 两种方式都可以从属性中取出access_token
4、在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("wb_token","${COOKIE_wb_token}","${ip}","/",false,0);
manager.add(cookie);
String s1="\""+"${COOKIE_wb_token_sign}"+"\"";
Cookie cookie = new Cookie("wb_token_sign",s1,"${ip}","/",false,0);
manager.add(cookie);
Cookie cookie = new Cookie("wb_dcn","${COOKIE_wb_dcn}","${ip}","/",false,0);
manager.add(cookie);
Cookie cookie = new Cookie("wb_app_id","${app_id}","${ip}","/",false,0);
manager.add(cookie);