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")

相关推荐
QYQ_112712 分钟前
嵌入式学习——字符设备驱动的注册和调用流程
学习
xinhuanjieyi40 分钟前
极语言让ai学习的方法
开发语言·学习
念恒123061 小时前
Python(复杂判断)
python·学习
happymaker06261 小时前
MyBatis学习日记——DAY03(手写MyBatis框架实现简单功能)
学习
山楂树の1 小时前
原生 WebGL + Canvas 实现鱼眼图像去畸变(Shader逐像素计算)
图像处理·数码相机·学习·程序人生
**蓝桉**1 小时前
容器服务学习笔记
笔记·学习
乔代码嘚1 小时前
Agentic-KGR:多智能体强化学习驱动的知识图谱本体渐进式扩展技术
人工智能·学习·大模型·知识图谱·ai大模型·大模型学习·大模型教程
zhangrelay3 小时前
三分钟云课实践速通--模拟电子技术-模电--SimulIDE
linux·笔记·学习·ubuntu·lubuntu
木木_王3 小时前
嵌入式Linux学习 | 数据结构 (Day05) 栈与队列详解(原理 + C 语言实现 + 实战实验 + 易错点剖析)
linux·c语言·开发语言·数据结构·笔记·学习
OSwich3 小时前
【 Godot 4 学习笔记】数组(Array)
笔记·学习·godot