场景:添加 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的更多相关文章

  1. 使用JavaScript获取url(request)中的参数

    这次是使用JavaScript来获取url(request)中的参数 在日常页面编写的过程中为了方便操作在<script>中通过使用window.location.href="要 ...

  2. js获取url(request)中的参数

    index.htm?参数1=数值1&参数2=数值2&参数3=数据3&参数4=数值4&...... 静态html文件js读取url参数,根据获取html的参数值控制htm ...

  3. JMETER - BEANSHELL获取响应结果

    获取响应结果 添加后置处理器     //获取获取请求的返回值 String response = prev.getResponseDataAsString(); //日志打印获取请求的返回值 log ...

  4. 获取请求Requst中访问请求的客户端IP

    获取请求Request中访问请求的客户端IP /*获取请求客户端的IP地址*/ public static String getIpAddress(HttpServletRequest request ...

  5. Jmeter BeanShell 从数据库中获取数据并创建一个requesBody

    一.前言 在测试接口的时候常常会使用到数据库中的数据,当要使用大量的数据时,仅仅使用数据库查询是不够的.还需要使用自动化让操作更简便. 下面以一个简单的例子阐述一下如何使用beanShell让代码更简 ...

  6. jmeter beanshell 从文件中获取随机参数

    loadruner 参数化有个功能,可以设置在脚本每次出现参数时,自动更换参数值.在做jmeter自动化测试过程中,同一个请求中出现多个参数值,如一个接口可以添加n个信息的请求 [ { "n ...

  7. 通过BeanShell获取UUID并将参数传递给Jmeter

    有些HTTPS请求报文的报文体中包含由客户端生成的UUID,在用Jmeter做接口自动化测试的时候,因为越过了客户端,直接向服务器端发送报文,所以,需要在Jmeter中通过beanshell获取UUI ...

  8. JSP userBean setProperty直接从request中获取参数

    JSP userBean setProperty直接从request中获取参数: form表单Jsp: <%@ page language="java" import=&qu ...

  9. 一个利用pojo类从前端页面request中获取参数的小框架~

    写之前不知道Spring已经实现这样的功能,所以傻傻的写了这个东西! 实现原理挺有趣的在此记录一下.从去年十月参加java开发以来自己终于有了点小进步. 好开心. 解决问题(详解):前端form表单提 ...

  10. java获取request中的参数、java解析URL问号后的参数

    java获取request中的参数.java解析URL问号后的参数.有时候我们需要从request中获取参数,或者获取拼接在Url后面的参数,有时候一个一个去拿有点麻烦,一起拿出来放在一个map里面需 ...

随机推荐

  1. Qt编写的项目作品30-录音播放控件(雨田哥作品)

    一.功能特点 使用FMOD音频引擎开发,支持跨平台,虚拟频道,插件设计. 数字回放,多个声卡,多路输出,多路输入. 自定义回放延迟,网络特性. 支持类型:DLS.M3U.ASX.WAX.PLS.AIF ...

  2. SpringBoot整合WebSocket实践

    简介 先来看下维基百科WebSocket的简介: WebSocket是一种与HTTP不同的协议.两者都位于OSI模型的应用层,并且都依赖于传输层的TCP协议. 虽然它们不同,但是RFC 6455中规定 ...

  3. SSM或Spring Boor开发中@Repository和@Mapper的区别

    在做一个SpringBoot项目的时候在Dao层使用了@Repository注解然后报了这个错: Description: Field userService in com.example.demo. ...

  4. 不为人知的网络编程(十九):能Ping通,TCP就一定能连接和通信吗?

    本文由小白debug分享,原题"能 ping 通,TCP 就一定能连通吗?",下文进行了排版和内容优化. 1.引言 平时,我们想要知道,自己的机器到目的机器之间,网络通不通,一般会 ...

  5. Solution Set -「AGC 010~012」C~F

    目录 「AGC 010C」Cleaning 「AGC 010D」Decrementing 「AGC 010E」Rearranging 「AGC 010F」Tree Game ^ 「AGC 011C」S ...

  6. CDS标准视图:会计员 I_AccountingClerk

    视图名称:会计员 I_AccountingClerk 视图类型:基础 视图代码: 点击查看代码 @AbapCatalog: { sqlViewName: 'IFIACCCLERK', // compi ...

  7. 20250110-FortuneWheel 攻击事件:竟然不设滑点,那就体验一下 Force Investment 吧

    背景信息 攻击交易:https://app.blocksec.com/explorer/tx/bsc/0xd6ba15ecf3df9aaae37450df8f79233267af41535793ee1 ...

  8. Kotlin:【初始化】延时初始化、惰性初始化、初始化的三个陷阱

  9. SourceTree SSH第一次登录需要交互确认的问题

    问题 在SourceTree SSH配置完ssh之后向上提交代码的时候发现: The server's host key is not cached in the registry. You have ...

  10. h5移动端像素适配 postcss-pxtorem和amfe-flexible

    Vant 中的样式默认使用px作为单位,如果需要使用rem单位,推荐使用以下两个工具: postcss-pxtorem 是一款 postcss 插件,用于将单位转化为 rem; amfe-flexib ...