jmeter学习(7)beanshell

beanshell preprocessor

发送请求前执行

beanshell postprocessor

发送请求前执行

==================================

获取请求相关信息

String body = sampler.getArguments().getArgument(0).getValue();

String url = sampler.getPath();

获取响应报文

String response=prev.getResponseDataAsString();

获取变量

String deviceId = vars.get("deviceId");

设置变量

vars.put("deviceHttpsToken", xxxx);

举例:获取返回数据中的字段

复制代码
import org.apache.jmeter.config.Arguments;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
//获取响应报文
String response=prev.getResponseDataAsString();
ObjectMapper mapper = new ObjectMapper();
JsonNode rootNode=mapper.readTree(response);

retCode=rootNode.get("retCode").asText();
log.info("==========取到的retCode值:"+retCode);
vars.put("code",code);

有列表

复制代码
import org.apache.jmeter.config.Arguments;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
//获取响应报文
String response=prev.getResponseDataAsString();
ObjectMapper mapper = new ObjectMapper();
JsonNode rootNode=mapper.readTree(response);

retCode=rootNode.get("payload").get("list").get(0).get("creator").asText();
log.info("==========取到的retCode值:"+retCode);
//vars.put("code",code);

截取字符串

No=vars.get("No");

log.info("获取到的No:"+No);

No=No.substring(1);

log.info("去掉第一位后的No:"+No);

No1=No.substring(0,3);

log.info("截取出来的001:"+No1);

计算

import java.math.BigDecimal;

BigDecimal a=new BigDecimal("6");

BigDecimal b=new BigDecimal("2");

BigDecimal c=a.add(b);

String c1=c.toString();

log.info("a+b="+c1);

BigDecimal c=a.subtract(b);

String c1=c.toString();

log.info("a-b="+c1);

BigDecimal c=a.multiply(b);

String c1=c.toString();

log.info("a*b="+c1);

BigDecimal c=a.divide(b);

String c1=c.toString();

log.info("a/b="+c1);

查看日志

打开日志选项,beanshell的log可以在日志中查看log.info("deviceId")

相关推荐
癫狂无敌酷炫帅炸天的学习狂3 分钟前
芯片手册怎么读
学习
zwenqiyu8 分钟前
zwq重链剖分学习笔记,从入门到过掉模板题
笔记·学习
云边散步15 分钟前
godot2D游戏教程系列二(25)
笔记·学习·音视频·游戏开发
程序员zgh19 分钟前
C++ 环形队列 从原理到实例演示
c语言·开发语言·数据结构·c++·学习
observe10123 分钟前
ARM学习之时钟,EPIT,GPT
arm开发·学习
婷婷_17224 分钟前
【PCIe验证每日学习·Day21】PCIe复位机制与功能级复位(FLR)全解析
学习·程序人生·芯片·pcie·芯片验证·链路恢复·pcie 复位
zuozewei31 分钟前
JMeter vs Claude Code:从“约束系统“到“解放系统“的工程设计范式跃迁
jmeter
yiwenrong32 分钟前
解决 JMeter 端口(Address already in use: connect)耗尽问题
jmeter
observe10134 分钟前
ARM学习之中断,按键
学习
果果燕36 分钟前
ARM嵌入式学习(一)---ARM基础概念学习
arm开发·学习