Jmeter的提取值存入csv或excel中,BeanShell PostProcessor后置处理器可满足

实际用户场景:用户登录小游戏,可进行各种操作,例如查看排行榜,玩游戏,进行留言等,现在需要对三个接口查看排行榜/玩游戏/留言进行压测,有两种压测方案:

方案一:将登录接口和这三个接口放在一个线程组,也就是每个用户登录后,做三个操作后退出

方案二:将所有用户登录后不退出,随机抽取用户做这三个操作

显然,方案二更符合实际场景,那么问题来了,方案二用Jmeter怎么写这个压测脚本呢?思路就是先在一个线程组里,单独保存为login.jmx文件,调用登录接口,例如500个用户登录,将接口返回的500个token值提取出来,存入csv文件中,命名为tokens.csv,然后再开一个线程组,单独保存为game.jmx文件,调用排行榜/玩游戏/留言接口,这三个接口的token值可以在tokens.csv中获取,来模拟不同用户登录的场景。每次测试前,先运行登录接口的脚本获取token值,再运行排行榜/玩游戏/留言板等接口脚本,模拟不同用户进行操作。

下面主要介绍下调用登录接口,将返回的token值写入toekns.csv文件中的过程:

1、主要用到了正则表达式提取器和BeanShell PostProcessor后置处理器

正则表达式提取器,用来提取接口返回的token值,返回的接口信息:

2、将提取的token值存入csv文件中,需要用到BeanShell PostProcessor后置处理器,脚本如下:

代码以及注释:

FileWriter fstream = new FileWriter("/root/apache-jmeter-4.0/bin/tokens.csv",true);

//这里结尾的true表示续写,即数据每次写入都在最末行续上;默认值为false:每次跑这个脚本都会覆盖原有内容再写入

//路径可以换成windows机器的本地路径例如:D:\\dlink\\tokens.csv,本次是远程启动,直接写在远程服务器上了

BufferedWriter out = new BufferedWriter(fstream);

out.write(vars.get("token")+","+"\n");

//将提取出来的token写入,注意加上\n换行

out.close();

fstream.close();

注意:每次运行之前,需要在本地或者远程启动服务器删除tokens.csv文件,否则文件会一直覆盖,保存原来过期的token值,或者每次执行脚本之前,将保存的文件tokens.csv重命名

PS:全网同名,转载请注明出处 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2023年Android开发者路线-第1部分

2023年Android开发者路线-第1部分 2023年Android开发者路线-第2部分 2023年Android开发者路线-第3部分 2023年Android开发者路线-第4部分 2023年Android开发者路线-第1部分 Android 生态系统处于不断发展的状态:每天都会引入新的库和资料,旨在加快开…

DI依赖注入(setter注入、构造器注入、自动装配、集合注入)

文章目录 1 setter注入1.1 环境准备1.2 注入引用数据类型步骤1:声明属性并提供setter方法步骤2:配置文件中进行注入配置步骤3:运行程序 1.3 注入简单数据类型步骤1:声明属性并提供setter方法步骤2:配置文件中进行注入配置步骤3:运行程序 2 构造器注入2.1 环境准备2.2 构造器注入…

【Linux】信号的处理

信号篇终章 文章目录 前言一、信号的处理 1.可重入函数 2.volatile关键字 3.SIGCHLD信号总结 前言 在前两篇linux文章中我们详细的讲解了信号的产生和信号的保存,今天来到最后一个重点信号的处理,对于信号的处理我们会重新引入进程…

19c rac环境修改pubic, vip,scan ip步骤

19c rac环境第一次修改public、vip和scan ip,和11g还是稍有不同。首先说明下环境 具体步骤如下 1、修改public地址,关闭实例后使用root用户操作 [rootdb1 ~]# ./oifcfg getif bond0 172.20.30.0 global public bond2 100.100.100.0 global clust…

Vivado 下 IP核之 PLL实验

目录 实验任务:Vivado 下 IP核之 PLL实验 1、实验简介 2、实验环境 3、实验原理 3.1、PLL IP核简介 3.2、MMCM 和 PLL 各自的含义以及两者的区别 3.3、PLL 分频 和 倍频 的工作原理 3.4、实验任务 4、建立工程 4.1、PLL IP 核配置 4.2、模块设计 4.…

计算卸载-论文05-双层优化(无线充电与卸载)

标题:《A Divide-and-Conquer Bilevel Optimization Algorithm for Jointly Pricing Computing Resources and Energy in Wireless Powered MEC》 期刊:IEEE TRANSACTIONS ON CYBERNETICS,2022 一、理论梳理 问题:相比于移动云…

Espresso Sequencer:针对Rollup生态的Decentralized Shared Sequencing Layer

1. 引言 前序博客: Rollup去中心化Rollup DecentralizationAztec 征集 Rollup Sequencer去中心化提案Espresso Sequencer:去中心化RollupsRadius:针对Rollup生态的Trustless Shared Sequencing层 当前的L2 Rollup方案在扩容的同时&#xf…

​AI + 非遗文化传播,人工智能师资培训重磅招募

大语言模型热度空前,诸如文心一言、 ChatGPT 等已经能够与人对话互动、回答问题、协助创作,逐渐应用于人们的工作和生活,也引发了社会热议。为推动大模型及人工智能相关专业人员的培养,同时将人工智能技术融入非遗文化传播&#x…

心血管疾病预测--逻辑回归实现二分类

一、实现效果 实现心血管疾病的预测准确率70%以上 二、数据集介绍 数据共计70000条,其中心血管疾病患者人数为34979,未患病人数为35021。数据特征属性12个分别为如下所示:生理指标(性别、年龄、体重、身高等)、 医疗检测指标(血压、血糖、胆固醇水平等)…

青龙面板使用教程,以及安装

1. 青龙面板使用教程,以及安装 首先青龙面板是在docker里面的,我们要安装一个docker 我这里只有debian 11 安装的教程 如何在debian11上安装docker - 知乎 这个文章不错了,按命令执行就好了,其他操作系统的。去网上搜索安…

Helm方式部署 zookeeper+kafka 集群 ——2023.05

文章目录 版本概况一、添加helm仓库二、安装部署集群2.1 在线安装zookeeperkafka集群2.2 离线安装zookeeperkafka集群 三、验证kafka与zookeeper是否绑定四、测试集群附:可改善地方卸载应用 版本概况 服务版本centos7.9kubernetesv1.20.15helmv3.10.1zookeeper3.8.…

Python通过natcap.invest库调用InVEST模型批处理数据(Carbon Storage and Sequestration模块)

InVEST(Integrated Valuation of Ecosystem Servicesand Tradeoffs)生态系统服务和权衡的综合评估模型,旨在通过模拟不同土地覆被情景下生态系统物质量和价值量的变化。它提供了多种生态系统服务功能评估,包括了淡水生态系统评估、…

【问题记录】USB monitor抓包工具显示音频数据CRC error

一,简介 在进行UAC2.0调试的过程中,使用USB monitor抓包工具抓取音频流数据出现数据错乱现象,本文对该问题进行分析记录。 二,问题记录及分析过程 2.1 先看下正常的抓包数据是什么样子: 从上图可以看出,…

《The Element of Style》阅读笔记 —— 章节 I Elementary Rules of Usage

前言:本科期间担任科研助理时,有幸从导师那里借来这本书通读,只记得自己当时在本子上做了一些笔记,但是想不起来具体记了什么😂前段时间再次从学院的讲座活动中听闻这本书,决定重温一遍,本篇为此…

js原生实现pc端日历组件

业务场景 客户要求日期选择使用pc端的样式,前端在x5平台上,也就是需要用原始html、js、css等实现,笔者使用于 原生javascript封装的PC端日历插件,不依赖任何第三方插件,复制的代码文件较长,可跳到 总结 处…

React 内 JSX了解及使用

目录 jsx基本概念及例子 jsx的基本用法 JSX表达式(有执行结果) {} 语法嵌入不同的值 所呈现出来的特点 标签内行内样式 自定义组件 驼峰命名 Jsx的全称是Javascript XML,react定义的一种类似XML的JS拓展语法:JSXML&#xf…

Go Etcd 分布式锁实战

1 分布式锁概述 谈到分布式锁,必然是因为单机锁无法满足要求,在现阶段微服务多实例部署的情况下,单机语言级别的锁,无法满足并发互斥资源的安全访问。常见的单机锁如Java的jvm锁Lock、synchronized,golang的Mutex等 对…

类和对象(三)

目录 前言 1.再谈构造函数 1.1 初始化列表 1.2 explicit关键字 2.static成员 2.1 概念 2.2 特性 3.友元 3.1. 友元函数 3.2 友元类 4.内部类 5.匿名对象 6.拷贝对象时的一些编译器优化 前言 今天小编给大家介绍的就是类最后的相关内容,希望大家好好学习理…

什么是可信时间戳?可信时间戳电子取证有效吗?

电子数据具有脆弱性、易变性、隐蔽性、载体多样性等特点,容易被复制、删除、篡改且难以被发现。因此,电子数据在实际的司法认定过程中,很难准确鉴定其生成的时间以及内容的真实性、完整性。可信时间戳是一种公认的技术手段,可为电…

精选 100 种最佳 AI 工具大盘点

为了应对对精简流程和数据分析日益增长的需求,整合人工智能工具在多个领域变得至关重要。 本文精选了2023年可用的100种最佳人工智能工具,旨在提高您的生产力、创造力和效率。 以下是 2023 年排名前 100 的人工智能工具: Aidoc:A…