jmeter-beanshell学习3-beanshell获取请求报文和响应报文

news2025/2/25 18:40:03

前后两个报文,后面报文要用前面报文的响应结果,这个简单,正则表达式或者json提取器,都能实现。但是如果后面报文要用前面请求报文的内容,感觉有点难。最早时候把随机数写在自定义变量,前后两个接口都用这个变量,但是如果加上循环次数,每次随机数都会一样。又要用到beanshell了。

随便找的一个废弃的接口,要取a的值,用beanshell前置处理器

import org.apache.jmeter.config.Arguments;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
//获取请求体
Arguments args= sampler.getArguments();
String requestBody = args.getArgument(0).getValue();
ObjectMapper mapper = new ObjectMapper();
JsonNode rootNode=mapper.readTree(requestBody);

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

执行看一下日志

最后再vars.put定义变量,后面的接口就可以用了。

beanshell能取请求报文,也能取响应报文,如果查询接口,返回内容很多,用beanshell还是有点方便的。还拿个接口,取响应报文code。

找了几个别人的写法,要用json包,然后看jmeter自带的好像没有,需要再单独下载,就想到一个问题,这个脚本在我本地能执行,如果传给别人就不能跑了。后来试着拿获取请求报文的代码改改,还真成功了。这次要用后置处理器

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

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

今天这篇基本都是直接找的别人代码,具体意思也不太清楚,只知道实现了想要的内容,可能哪里有瑕疵

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1901901.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何处理 PostgreSQL 中由于表连接顺序不当导致的性能问题?

文章目录 一、理解表连接和连接顺序二、识别由于表连接顺序不当导致的性能问题三、影响表连接顺序的因素四、解决方案手动调整连接顺序创建合适的索引分析数据分布和优化查询逻辑 五、示例分析手动调整连接顺序创建索引优化查询逻辑 六、总结 在 PostgreSQL 中,表连…

浪潮信息携手算力企业为华东产业集群布局提供高质量算力支撑

随着信息技术的飞速发展,算力已成为推动数字经济发展的核心力量。近日,浪潮信息与五家领先的算力运营公司在南京正式签署战略合作协议,共同加速华东地区智算基础设施布局,为区域经济发展注入新动力。 进击的算力 江苏持续加码智算…

使用LoFTR模型进行图像配准、重叠区提取

LoFTR模型源自2021年CVPR提出的一篇论文LoFTR: Detector-Free Local Feature Matching with Transformers,其基于pytorch实现图像配准,与基于superpointsuperglue的方法不同, 是一个端到端的图像配准方法。与LoFTR官方库相关的有loftr2onnx库…

推荐好玩的工具之OhMyPosh使用

解除禁止脚本 Set-ExecutionPolicy RemoteSigned 下载Oh My Posh winget install oh-my-posh 或者 Install-Module oh-my-posh -Scope AllUsers 下载Git提示 Install-Module posh-git -Scope CurrentUser 或者 Install-Module posh-git -Scope AllUser 下载命令提示 Install-Mo…

搜索旋转数组

题目链接 搜索旋转数组 题目描述 注意点 数组已被旋转过很多次数组元素原先是按升序排列的若有多个相同元素,返回索引值最小的一个 解答思路 首先需要知道的是,本题数组中的旋转多次只是将头部的某些元素移动到尾部,所以不论怎么旋转&am…

欢迎加入国家智能网联汽车创新中心OS开发训练营大家庭

欢迎加入国家智能网联汽车创新中心OS开发训练营大家庭。🚀 导学阶段启动 在正式开营之前,我们特别设置了导学阶段,旨在帮助大家更好地迎接颇具挑战性的项目实战。导学阶段包括一系列精心准备的视频课程和配套习题。github链接:htt…

20K Stars!一个轻量级的 JS 库

大家好,我是CodeQi! 一位热衷于技术分享的码仔。 Driver.js 是一个轻量级的 JavaScript 库,旨在帮助开发人员创建网站或应用程序的引导和教程。通过 Driver.js,您可以引导用户了解网站的各个功能和使用方式。 Driver.js 提供了高度可定制的功能,使其能够适应各种需求和…

Unity编辑器扩展之Inspector面板扩展

内容将会持续更新,有错误的地方欢迎指正,谢谢! Unity编辑器扩展之Inspector面板扩展 TechX 坚持将创新的科技带给世界! 拥有更好的学习体验 —— 不断努力,不断进步,不断探索 TechX —— 心探索、心进取&#xff…

开关阀(4):对于客户技术要求信息的识别

1.阀门部分 2.执行器 行程时间的一般标准 The stroking times are applicable to throttling control valves and should not exceed 2 seconds/inch of valve diameter 3.附件 4.定位器

ubuntu设置开启自动挂载sftp

1. 前言 与其说 ubuntu 开启自动挂载 sftp, 更确切的说应该是 nautilus (ubuntu上默认的文件管理器) 开机自动挂载 sftp。 因为 这里即使选择永远记住,开机也不会自动挂载 sftp 2.设置方法 gnome-session-properties #开机只启动设置命令设置 gio mount sftp…

科普文:构建可扩展的微服务架构设计方案

前言 微服务架构是一种新兴的软件架构风格,它将单个应用程序拆分成多个小的服务,每个服务都运行在自己的进程中,这些服务通过网络进行通信。这种架构的优势在于它可以提高应用程序的可扩展性、可维护性和可靠性。 在传统的应用程序架构中&…

《昇思25天学习打卡营第13天|onereal》

今天学习的内容如下: DCGN生成漫画头像 在下面的教程中,我们将通过示例代码说明DCGAN网络如何设置网络、优化器、如何计算损失函数以及如何初始化模型权重。在本教程中,使用的动漫头像数据集共有70,171张动漫头像图片,图片大小均为…

Linux SSH服务介绍

1. 引言 在现代IT基础设施中,远程访问和管理服务器已成为日常运维工作的重要组成部分。Secure Shell (SSH) 是一种广泛使用的加密网络协议,允许在不安全的网络上安全地进行远程登录和其他网络服务。本文将详细介绍SSH服务的各个方面,包括其定…

String类对象比较:==和equals的具体细节

public class test {public static void main(String[] args) {String name1 "zzz";String name2 "zzz";String name3 new String("zzz");// hashCode() 方法:基于字符串的内容计算哈希值,因此内容相同的字符串对象其 …

anaconda中下载压缩包并用conda安装包

有时直接conda安装包时会出错;报错PackagesNotFoundError: The following packages are not available from current channels 比如 conda install -y bioconda::ucsc-gtftogenepred #直接安装报错 #直接下载压缩包安装https://blog.csdn.net/weixin_45552562/ar…

最新扣子(Coze)实战案例:使用扩图功能,让你的图任意变换,完全免费教程

🧙‍♂️ 大家好,我是斜杠君,手把手教你搭建扣子AI应用。 📜 本教程是《AI应用开发系列教程之扣子(Coze)实战教程》,完全免费学习。 👀 微信关注公从号:斜杠君,可获取完整版教程。&a…

电商视角如何理解动态IP与静态IP

在电子商务的蓬勃发展中,网络基础设施的稳定性和安全性是至关重要的。其中,IP地址作为网络设备间通信的基础,扮演着举足轻重的角色。从电商的视角出发,我们可以将动态IP和静态IP比作电商平台上不同类型的店铺安排,以此…

如何配置 PostgreSQL 以实现高可用性和故障转移?

文章目录 一、高可用性和故障转移的概念(一)数据复制(二)监控和检测(三)快速切换 二、实现高可用性和故障转移的技术方案(一)流复制(Streaming Replication)&…

二叉树中的前序、中序、后续遍历(C语言)

目录 前序遍历概念代码递归分解图 中序遍历概念代码 后序遍历概念代码 前序遍历 概念 概念: 前序遍历(Preorder Traversal 亦称先序遍历)——访问根结点的操作发生在遍历其左右子树之前。 简单点来说就是:根 左子树 右子树的访问顺序 例如:…

Win11 Python3.10 安装pytorch3d

0,背景 Python3.10、cuda 11.7、pytorch 2.0.1 阅读【深度学习】【三维重建】windows10环境配置PyTorch3d详细教程-CSDN博客 1,解决方法 本来想尝试,结果发现CUB安装配置对照表里没有cuda 11.7对应的版本,不敢轻举妄动&#x…