JMeter BeanShell 获取 HTTP Request 中的 Name
场景:添加 JMeter log 输出,想输入自定义请求的名称
// 获取 response body
prev.getResponseDataAsString();
// 获取 HTTP Request 插件里面的 Name
prev.getSampleLabel()
补充知识点:
JMeter prev对象核心方法详解
(适用于BeanShell/JSR223脚本环境,prev即SampleResult对象)
一、基础信息获取方法
// 请求基本信息
prev.getSampleLabel() // 获取请求显示名称,如:"HTTP Get User"
prev.getSampler().getName()// 底层采样器名称,如:"HTTP Request"
prev.getThreadName() // 线程组名称,如:"Thread Group 1-1" // 时间维度数据
prev.getTime() // 请求总耗时(毫秒)
prev.getStartTime() // 请求开始时间戳(毫秒)
prev.getEndTime() // 请求结束时间戳(毫秒)
二、响应数据处理方法
// 文本型响应
prev.getResponseDataAsString() // 获取响应正文文本
prev.getResponseHeaders() // 获取完整响应头 // 二进制响应
prev.getResponseData() // 获取byte[]格式响应数据 // 状态码验证
prev.getResponseCode() // HTTP状态码,如:"200"
prev.isResponseCodeOK() // 状态码是否2xx(返回boolean)
三、高级调试方法
// 断言与错误判断
prev.isSuccessful() // 请求是否成功(包含断言结果)
prev.getAssertionResults()// 获取断言失败信息数组 // 数据提取
prev.getLatency() // 网络延迟时间(毫秒)
prev.getConnectTime() // TCP连接建立耗时(毫秒)
四、典型使用场景示例
// 场景1:记录异常请求详情
if (!prev.isSuccessful()) {
errorLog = "失败请求:" + prev.getSampleLabel()
+ " | 状态码:" + prev.getResponseCode()
+ " | 错误信息:" + prev.getResponseMessage()
vars.put("ERROR_LOG", errorLog)
} // 场景2:计算响应时间占比
def connectPercent = (prev.getConnectTime()/prev.getTime())*100
log.info("TCP连接时间占比:" + connectPercent + "%")
五、关键注意事项
- 作用域限制
- 仅在
PostProcessor/断言等后置处理器中有效 - 前置处理器(PreProcessor)中不可用
- 性能建议
- 避免在高并发下频繁调用
getResponseDataAsString() (我拒绝你的建议) - 大数据响应建议改用
prev.getResponseData().length获取字节大小
- 替代方案
- JMeter 5.0+推荐使用JSR223+Groovy替代BeanShell
// Groovy等效写法
def responseCode = prev.getResponseCode()
JMeter BeanShell 获取 HTTP Request 中的 Name的更多相关文章
- 使用JavaScript获取url(request)中的参数
这次是使用JavaScript来获取url(request)中的参数 在日常页面编写的过程中为了方便操作在<script>中通过使用window.location.href="要 ...
- js获取url(request)中的参数
index.htm?参数1=数值1&参数2=数值2&参数3=数据3&参数4=数值4&...... 静态html文件js读取url参数,根据获取html的参数值控制htm ...
- JMETER - BEANSHELL获取响应结果
获取响应结果 添加后置处理器 //获取获取请求的返回值 String response = prev.getResponseDataAsString(); //日志打印获取请求的返回值 log ...
- 获取请求Requst中访问请求的客户端IP
获取请求Request中访问请求的客户端IP /*获取请求客户端的IP地址*/ public static String getIpAddress(HttpServletRequest request ...
- Jmeter BeanShell 从数据库中获取数据并创建一个requesBody
一.前言 在测试接口的时候常常会使用到数据库中的数据,当要使用大量的数据时,仅仅使用数据库查询是不够的.还需要使用自动化让操作更简便. 下面以一个简单的例子阐述一下如何使用beanShell让代码更简 ...
- jmeter beanshell 从文件中获取随机参数
loadruner 参数化有个功能,可以设置在脚本每次出现参数时,自动更换参数值.在做jmeter自动化测试过程中,同一个请求中出现多个参数值,如一个接口可以添加n个信息的请求 [ { "n ...
- 通过BeanShell获取UUID并将参数传递给Jmeter
有些HTTPS请求报文的报文体中包含由客户端生成的UUID,在用Jmeter做接口自动化测试的时候,因为越过了客户端,直接向服务器端发送报文,所以,需要在Jmeter中通过beanshell获取UUI ...
- JSP userBean setProperty直接从request中获取参数
JSP userBean setProperty直接从request中获取参数: form表单Jsp: <%@ page language="java" import=&qu ...
- 一个利用pojo类从前端页面request中获取参数的小框架~
写之前不知道Spring已经实现这样的功能,所以傻傻的写了这个东西! 实现原理挺有趣的在此记录一下.从去年十月参加java开发以来自己终于有了点小进步. 好开心. 解决问题(详解):前端form表单提 ...
- java获取request中的参数、java解析URL问号后的参数
java获取request中的参数.java解析URL问号后的参数.有时候我们需要从request中获取参数,或者获取拼接在Url后面的参数,有时候一个一个去拿有点麻烦,一起拿出来放在一个map里面需 ...
随机推荐
- PpcProcessResult
@Data @Accessors(chain = true) public class PpcProcessResult { public static volatile int globalThre ...
- 优化大宽表查询性能,揭秘GaussDB(DWS) 谓词列analyze
本文分享自华为云社区<GaussDB(DWS) 谓词列analyze揭秘>,作者:SmithCoder. 1. 前言 适用版本:[9.1.0.100(及以上)] 当前GaussDB(DW ...
- Qt编写的项目作品4-输入法V2019
一.功能特点 未采用Qt系统层输入法框架,独创输入切换机制. 纯QWidget编写,支持任何目标平台(亲测windows.linux.嵌入式linux等),支持任意Qt版本(亲测Qt4.6.0到Qt5 ...
- JavaScript设计模式与开发实践 PDF——带完整书签
下载链接:JavaScript设计模式与开发实践 带完整书签:
- Datawhale AI 夏令营-天池Better Synth多模态大模型数据合成挑战赛-task3持续上分(更新中)
在大数据.大模型时代,随着大模型发展,互联网数据渐尽且需大量处理标注,为新模型训练高效合成优质数据成为新兴问题."天池 Better Synth - 多模态大模型数据合成挑战赛"应 ...
- Docker简易操作
Docker简易操作 1.启动docker sudo docker run [OPTIONS] IMAGE [COMMAND] [ARG...] sudo docker run -d -p 8009: ...
- 【转载】hacker术语
1.肉鸡 所谓"肉鸡"是一种很形象的比喻,比喻那些可以随意被我们控制的电脑,对方可以是WINDOWS系统,也可以是UNIX/LINUX系统,可以是普通的个人电脑,也可以是大型的服务 ...
- JAVA根据集合中属性判断是否包含元素
boolean isContain = list.stream().anyMatch(item -> item.getKey().equals(key));
- 微服务实战系列(八)-网关springcloud gateway自定义规则-copy
1. 场景描述 先说明下项目中使用的网关是:springcloud gateway, 因需要给各个网关服务系统提供自定义配置路由规则,实时生效,不用重启网关(重启风险大),目前已实现:动态加载自定义路 ...
- 字节流:FileInputStream和FileOutputStream的使用
/** * 测试FileInputStream和FileOutputStream的使用 * * 结论: * 1. 对于文本文件(.txt,.java,.c,.cpp),使用字符流处理 * 2. 对于非 ...