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

相关推荐
NON-JUDGMENTAL23 分钟前
DiverseVul
笔记·学习
落羽的落羽1 小时前
【Linux系统】C/C++的调试器gdb/cgdb,从入门到精通
linux·服务器·c语言·c++·人工智能·学习·机器学习
Dylan的码园1 小时前
以二叉树问题为基础的递归调试学习(上)
java·学习·算法·leetcode·r-tree
rengang662 小时前
10-神经网络的工作原理:分析神经网络如何学习和推理
人工智能·深度学习·神经网络·学习
立志成为大牛的小牛3 小时前
数据结构——三十六、拓扑排序(王道408)
数据结构·学习·程序人生·考研·算法
2301_796512523 小时前
Rust编程学习 - 如何快速构建一个单线程 web server
前端·学习·rust
十五学长3 小时前
程序设计C语言
c语言·开发语言·笔记·学习·考研
纵有疾風起9 小时前
C++—string(1):string类的学习与使用
开发语言·c++·经验分享·学习·开源·1024程序员节
yue00811 小时前
C#理论学习-WinForm实践开发教程总结
开发语言·学习·c#
Mr.Jessy11 小时前
Web APIs学习第一天:获取 DOM 对象
开发语言·前端·javascript·学习·html