Jmeter使用BeanShell保存数据到文件

1、目的

  在使用jmeter压测时,业务上下连贯,需要对一些编号进行关联操作。这里使用‘JSON提取器’将值提取出来,后面请求可以直接使用。其它业务想要使用就只能把值保存到文件,再使用文件做参数化了。

2、JSON提取器 提取请求值

  提取方式多种多样,正则、json、边界值等等。根据实际请求选择

  • 在请求右键-添加-后置处理器-JSON提取器

     Main sample and sub-samples:匹配范围包括当前父取样器并覆盖子取样器Main sample only:匹配范围是当前父取样器(最常用)Sub-samples only:仅匹配子取样器JMeter Variable Name to use:支持对 Jemter变量值进行匹配Names of created variables:变量名JSON Path expressions:需要提取的JSON值对应位置Match No.:0 代表随机取值,n取第几个匹配值,-1匹配所有Compute concatenation var:如果找到许多结果,则插件将使用’,‘分隔符将它们连接起来,并将其存储在名为 _ALL的var中Default Value:如果参数没有取得到值,默认给一个值
    

在这里插入图片描述这里提取请求的abz001,写路径与变量名称。使用${abz001}调用。

3、BeanShell 保存数据

  • 在请求右键-添加-后置处理器-BeanShell 后置处理程序
       编写保存代码,将${abz001}保存到abz001.csv
    在这里插入图片描述
import java.io.BufferedWriter;
import java.io.FileWriter;
import org.apache.jmeter.services.FileServer;// 获取文件路径,这里使用FileServer.getAbsolutePath()获取绝对路径以确保跨平台兼容性
String filePath = FileServer.getFileServer().getBaseDir() + "/abz001.csv";try {// 创建一个 FileWriter 对象,true 表示追加模式FileWriter fstream = new FileWriter(filePath, true);// 创建一个 BufferedWriter 对象BufferedWriter out = new BufferedWriter(fstream);// 替换为json提取值String variableValue = vars.get("abz001");// 将变量值写入文件,并添加换行符out.write(variableValue + "\r\n");// 关闭 BufferedWriter 和 FileWriterout.close();fstream.close();} catch (Exception e) {log.error("Error occurred while writing to file: " + e.getMessage());SampleResult.setSuccessful(false);SampleResult.setResponseMessage("Failed to write to file: " + e.getMessage());
}

保存文件实例:

在这里插入图片描述

4、csv文件使用示例

  • 在请求右键-添加-配置元件-CSV 数据文件设置

  读取文件名:abz001.csv,变量名称abz001,则使用${abz001}调用。

在这里插入图片描述

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

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

相关文章

网站监控工具必要的功能

什么是网站监控 网站监控是持续跟踪网站在互联网上的性能和可用性,以确保其正常运行并提供良好的用户体验的过程,在当今的数字时代,一个表现良好的网站对公司的声誉至关重要,打开速度慢的网站会对用户体验产生负面影响&#xff0…

SSM(Spring+SpringMVC+MyBatis) 整合案例详细步骤

SSM 整合简介 SSM整合是指将Spring、Spring MVC和MyBatis三个开源框架结合使用,来搭建企业级Java Web应用的后端架构。每个框架在整体架构中承担不同的职责: Spring:作为核心控制层框架,负责管理对象(Bean)…

leetcode 347.前K个高频元素

题目 思路 1.统计每个数出现的次数:可以用HashMap。key为num,value为这个数出现的次数。 2.怎样返回HashMap中value最大的前k个key呢? 这里用优先队列的方法(本质是堆) 我们要维护一个小根堆。我们在堆中存储(key,…

APP信息收集思路总结(反代理,反虚拟机,反证书校验思路整理)

前言 本文是我在学习过程中的总结,希望可以被指导提议指正。 APP概况 app跟一个网站很像。 网站分为前端后端。 app就好像网站的前端一样,app不需要浏览器,而前端需要浏览器。 他们都需要服务器,也就是说,进行we…

实现登录拦截功能

1.4、实现登录拦截功能 温馨小贴士:tomcat的运行原理 当用户发起请求时,会访问我们像tomcat注册的端口,任何程序想要运行,都需要有一个线程对当前端口号进行监听,tomcat也不例外,当监听线程知道用户想要和…

kafka部署之简单密钥

一、说明 centos7.9kafka_2.13-2.7.0.tgzapache-zookeeper-3.8.0-bin.tar.gz官方文档:Apache Kafka 二、kafka配置 2.1、server.properties server.properties修改或增加如下配置 listenersSASL_PLAINTEXT://你的主机ip:9092 super.usersUser:admin authorizer…

#Linux(make工具和makefile文件以及makefile语法)

(一)发行版:Ubuntu16.04.7 (二)记录: (1)make为编译辅助工具,解决用命令编译工程非常繁琐的问题 (2)在终端键入make即可调用make工具&#xff0…

huawei 华为 交换机 配置 LACP 模式的链路聚合示例 (交换机之间直连)

组网需求 如 图 3-22 所示, SwitchA 和 SwitchB 通过以太链路分别都连接 VLAN10 和 VLAN20 的网络,且SwitchA 和 SwitchB 之间有较大的数据流量。用户希望 SwitchA 和 SwitchB 之间能够提供较大的链路带宽来使相同VLAN 间互相通信。在两台 Switch 设备上…

Ubuntu 22.04上构建libvirt源码错误解决

当在Ubuntu 22.04上构建libvirt源码时,可能会遇到一些错误。下面是一些常见错误及其解决方法: 1. 错误:Program xmllint’未找到或不可执行 解决方法:安装libxml2-utils sudo apt-get install libxml2-utils2. 错误&#xff1a…

攻防演练利器:六款蓝队开源防御工具特点剖析

实战化的攻防演习活动一般具有时间短、任务急等特点,作为防守方,蓝队需要在日常安全运维工作的基础上,从攻击者角度出发,了解攻击者的思路与打法,并结合本单位实际网络环境、运营管理情况,制定相应的技术防…

性能测试丨GreatSQL TPC-H 性能测试报告正式发布!

1、测试背景概述 本次测试针对GreatSQL开源数据库基于标准 TPC-H 场景的测试。 TPC-H(商业智能计算测试)是美国交易处理效能委员会(TPC,TransactionProcessing Performance Council)组织制定的用来模拟决策支持类应用…

抽取CLOB字段中XML的特定元素的VALUE值

在ORACLE数据库中,有时XML文件会被保存在CLOB字段中。 这时候,若是我们要获取此字段XML中特定元素的VALUE值,就需要用到xmltype 这个函数。 如下面的 XML文件,保存在 TABLE_A 的CLOB_K 字段,若是我们要获取其中的 Y…

C语言从入门到精通(第5版)-----读书笔记

第一章 C语言概述 1.1 C语言的发展史 1.1.1程序语言简述 1、机器语言 低级语言,又称二进制代码语言。一种使用0、1表示的二进制代码编写指令以执行计算机操作的语言。 特点:计算机可以直接识别,不需要进行任何翻译。 2、汇编语言 为了减…

selection instruction

在LLVM的代码生成框架中,确实存在三种类型的指令表达,它们会在同一个SelectionDAG(选择有向无环图)中共存。这些类型分别是: 一般LLVM ISD节点: 这些是LLVM提供的通用、平台无关的节点,用于表示各种常见的算术、逻辑、内存和控制流操作。例如,ISD::ADD表示一个加法操作…

RDMA内核态通信测试krping学习

krping模块是一个内核可加载模块,它实现了客户机/服务器ping/pong程序,这个模块仅仅为了测试内核rdma的API(单边的READ和Write;双边的SEND和RECEIVE)。该模块允许通过一个名为/proc/krping的/proc条目建立连接并运行pi…

ElasticSearch8 - 基本操作

前言 本文记录 ES 的一些基本操作,就是对官方文档的一些整理,按自己的习惯重新排版,凑合着看。官方的更详细,建议看官方的。 下文以 books 为索引名举例。 新增 添加单个文档 (没有索引会自动创建) POST books/_doc {"n…

服务器总是宕机问题记录

博主介绍: 22届计科专业毕业,来自湖南,主要是在CSDN记录一些自己在Java开发过程中遇到的一些问题,欢迎大家一起讨论学习,也欢迎大家的批评指正。 文章目录 背景调整总结 背景 2核2G的服务器,服务器安装了t…

Redis Cluster集群模式容器化部署

Redis Cluster集群模式容器化部署 安装Docker和docker-compose准备docker-compose文件准备Redis配置文件Linux内核参数优化启停Redis实例Redis集群搭建 环境准备: IP版本角色端口172.x.x.11RHEL 7.9master6379172.x.x.12RHEL 7.9master6379172.x.x.13RHEL 7.9maste…

清华镜像介绍

清华镜像,全称为清华大学开源软件镜像站,是由清华大学计算机系维护的一套开源软件镜像站点。该站点不仅为编程人员提供了一个丰富的资源平台,也为科研人员和需要进行软件开发或运维工作的人员提供了极大的便利。 首先,清华镜像的…

计算机网络:物理层中的数字传输系统全景概览解析

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…