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

相关推荐
通信小呆呆12 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
H__Rick12 天前
自动对焦学习-3
人工智能·学习·计算机视觉
Daisy Lee12 天前
量化学习-第1章-什么是量化金融
学习·金融·datawhale
Alsn8612 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
YM52e12 天前
买菜计算器小应用 - HarmonyOS ArkUI 开发实战-PC版本
学习·华为·harmonyos·鸿蒙·鸿蒙系统
小雨下雨的雨12 天前
HarmonyOS ArkUI训练营入门-组件掌握系列-Animation 动画效果实现-PC版本
学习·华为·harmonyos·鸿蒙
cqbzcsq12 天前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
YangYang9YangYan12 天前
2026初入职场学习数据分析的价值
学习·数据挖掘·数据分析
guslegend12 天前
理论学习:什么是 Coding Agent?
学习
自传.12 天前
尚硅谷 Vibe Coding|第三章(1) Claude Code深度使用与进阶技巧 学习笔记
笔记·学习·尚硅谷·vibecoding