jmeter学习(7)beanshell

devtools/2024/10/11 6:44:37/

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


http://www.ppmy.cn/devtools/124035.html

相关文章

【uniapp小程序】使用cheerio去除字符串中的HTML标签并获取纯文本内容

【uniapp小程序】使用cheerio去除字符串中的HTML标签并获取纯文本内容 参考资料安装引入使用 参考资料 【博主:AIpoem】uniapp小程序 使用cheerio处理网络请求拿到的dom数据 cheerio文档:https://github.com/cheeriojs/cheerio/wiki/Chinese-README 安…

Python 如何使用 Redis 作为缓存

Python 如何使用 Redis 作为缓存 一、引言 在现代 Web 应用程序和数据密集型服务中,性能 和 响应速度 是至关重要的因素。而当应用需要频繁访问相同的数据时,直接从数据库获取数据会耗费大量的时间和资源。因此,缓存系统成为了提升性能的重…

ai智能电话机器人的核心技术有哪些?

ai智能电话机器人是一种高智能语音系统,它能够非常智能化的和用户进行畅通的交流,而不会存在任何的障碍问题,这个主要是由于它使用了很多的核心技术,我们一起来看看有哪些核心技术。 1.VAD 准确定位语音的开始点和结束点&#x…

YOLO11改进|注意力机制篇|引入全局上下文注意力机制GCA

目录 一、【】注意力机制1.1【GCA】注意力介绍1.2【GCA】核心代码 二、添加【GCA】注意力机制2.1STEP12.2STEP22.3STEP32.4STEP4 三、yaml文件与运行3.1yaml文件3.2运行成功截图 一、【】注意力机制 1.1【GCA】注意力介绍 下图是【GCA】的结构图,让我们简单分析一下…

基于RAMS的台风苏拉(Saola)模拟预报深入分析引言

台风苏拉(Saola)是近年来对我国沿海地区造成严重影响的热带气旋之一。准确模拟和预报苏拉的路径和强度,对于防灾减灾具有重要意义。区域大气模拟系统(RAMS)作为一款功能强大的数值天气预报模型,能够提供精细…

云原生化 - 工具镜像(简约版)

在微服务和云原生环境中,容器化的目标之一是尽可能保持镜像小型化以提高启动速度和减少安全风险。然而,在实际操作中,有时候需要临时引入一些工具来进行调试、监控或问题排查。Kubernetes提供了临时容器(ephemeral containers&…

智能听诊器:宠物健康管理的革命

智能听诊器不仅仅是一个简单的监测工具,它代表了宠物健康管理的一次革命。通过收集和分析宠物的生理数据,智能听诊器能够帮助宠物主人和医生更好地理解宠物的健康需求,从而提供更加个性化的护理方案。 智能听诊器通过高精度的传感器&#xf…

方法重写与多态

方法重写 1.在子类和父类直接 2.方法名相同 3.参数个数和类型相同 4.返回类型相同或是其父类 5.访问权限不能严于父类 package com.hz.ch04.test01;public abstract class Pet {private String name;private int love;private int health;public String getName() {retur…