首页 > 其他分享 >使用 JMeter 中的 `prev` API 进行结果分析

使用 JMeter 中的 `prev` API 进行结果分析

时间:2024-06-22 23:54:32浏览次数:19  
标签:返回 JMeter String 采样器 响应 API prev

JMeter 中,prev 对象是一个非常重要的变量,通常用于在 JSR223 Sampler 或者 BeanShell Sampler 中获取上一个 Sampler 的结果。记录下 prev 对象的常用 API。

什么是 prev 对象?

prev 对象是一个 SampleResult 类型的实例,它包含了上一个 Sampler 的所有信息和结果。通过使用 prev 对象,我们可以访问上一个请求的响应数据、响应时间、响应代码等信息。

常用的 prev API

下面是 prev 对象的一些常用 API 和属性:

  1. getTime()

    • 返回采样器的响应时间(以毫秒为单位)。
    long responseTime = prev.getTime();
    
  2. getResponseCode()

    • 返回采样器的响应代码(通常是 HTTP 状态码)。
    String responseCode = prev.getResponseCode();
    
  3. getResponseMessage()

    • 返回采样器的响应消息。
    String responseMessage = prev.getResponseMessage();
    
  4. getResponseDataAsString()

    • 以字符串形式返回响应数据。
    String responseData = prev.getResponseDataAsString();
    
  5. getResponseHeaders()

    • 返回响应头信息。
    String responseHeaders = prev.getResponseHeaders();
    
  6. getRequestHeaders()

    • 返回请求头信息。
    String requestHeaders = prev.getRequestHeaders();
    
  7. getSamplerData()

    • 返回采样器的请求数据。
    String samplerData = prev.getSamplerData();
    
  8. getSampleLabel()

    • 返回采样器的标签。
    String sampleLabel = prev.getSampleLabel();
    
  9. isSuccessful()

    • 返回采样器的执行结果是否成功。
    boolean isSuccess = prev.isSuccessful();
    
  10. getURL()

    • 返回采样器的请求 URL。
    String url = prev.getURL();
    
  11. getStartTime()

    • 返回采样器开始时间(以毫秒为单位)。
    long startTime = prev.getStartTime();
    
  12. getEndTime()

    • 返回采样器结束时间(以毫秒为单位)。
    long endTime = prev.getEndTime();
    

使用示例

假设我们在测试一个 RESTful API,并且需要在每个请求之后检查响应数据是否包含特定的字符串。我们可以使用 JSR223 Sampler 来实现这个功能。以下是一个示例脚本:

// 获取上一个采样器的响应数据
String responseData = prev.getResponseDataAsString();

// 检查响应数据是否包含特定字符串
if (responseData.contains("code")) {
    // 如果包含,记录日志并继续
    log.info("Response contains the expected string.");
} else {
    // 如果不包含,记录日志并标记测试失败
    log.error("Response does not contain the expected string.");
    AssertionResult.setFailure(true);
    AssertionResult.setFailureMessage("Response does not contain the expected string.");
}

就算是随便记录也希望能够帮助我们更好理解,不要健忘。

标签:返回,JMeter,String,采样器,响应,API,prev
From: https://www.cnblogs.com/yimouz-219/p/18262895

相关文章

  • jmeter提取请求报文中的字段并记录到本地文件
    jmeter-beanshell-procesor前面提到的提取前提条件:在响应报文中提取,现在条件为:在请求报文里假设我的请求报文是{"username":"admin","password":"123456"}代码如下importjava.util.regex.Pattern;importjava.util.regex.Matcher;importjava.io.BufferedWriter;......
  • jmeter中beanshell-regex用法-prev.getTime()
    jmeter-beanshellPostprocessor,实现需求:判断响应时间大于10ms的响应,并记录想要的响应字段,比如流水号,注册的用户名密码等代码如下:importjava.util.regex.Matcher;importjava.util.regex.Pattern;//这里引入判断响应时间的代码,如判断响应时间超过10ms,则记录流水号longresp......
  • 分享记录在使用ubuntu部署项目(api接口项目)的步骤+自己踩过的坑(亲身经历,坑挺多的)
    安装虚拟机VMwareWorkstationPlayer/Pro优点:高性能:VMware的虚拟机通常具有更好的性能和稳定性。丰富的功能:特别是Pro版本,支持快照、多级别快照、克隆虚拟机等高级功能。商业支持:有商业支持选项,适合企业用户。缺点:费用:WorkstationPlayer是免费的,但功能有限。Workst......
  • 关于pulp.solve()的报错,pulp.apis.core.PulpSolverError: Pulp: Error while executin
     File"E:\python\建模\.venv\Lib\site-packages\pulp\apis\coin_api.py",line112,inactualSolve  returnself.solve_CBC(lp,**kwargs)      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File"E:\python\建模\.venv\Lib\site-packages\pulp\a......
  • P10538 [APIO2024] 星际列车 题解
    题意:有\(n\)个行星,编号为\(0\simn-1\)。有\(m\)辆星际列车,第\(i\)辆列车在时刻\(a_i\)从行星\(x_i\)出发,在时刻\(b_i\)到达行星\(y_i\),代价为\(c_i\)。换乘条件为上一辆车的终点和下一辆车的起点相同,且上一辆车到达时刻\(\le\)下一辆车出发时刻。你需要吃......
  • Vue3的Composition API:Composition API是Vue3的一大新特性,它提供了一种更灵活的方式来
    1.介绍1.什么是CompositionAPI CompositionAPI是Vue.js3.0中引入的一项新特性,提供了一种新的、更灵活的方式来组织Vue组件的代码。CompositionAPI是基于函数的,并允许在组件的setup函数中直接处理响应式数据和生命周期钩子,使得代码更加清晰,更便于维护和测......
  • 架构师必知的11种API性能优化方法
    前言接口性能优化是后端开发人员经常碰到的一道面试题,因为它是一个跟开发语言无关的公共问题。这个问题既可以很简单,也可以相当复杂。有时候,只需要添加一个索引就能解决。有时候,代码需要进行重构。有时候,必须增加缓存。有时候,需要引入一些中间件,例如消息队列(MQ)。有时候,需......
  • [本科项目实训] 行动模拟实现 与 FastAPI 对应交互-V0
    to2024/06/01行动模拟该项目拟通过大语言模型分析拆解人类描述的任务,自动的调用行动库进行执行并完成内容的汇报。因而需要针对任务对大模型进行微调(比如本项目使用的p-tuningv2),行动模拟即针对微调结果将大模型与行动库进行对接,模拟实际场景下的函数输入输出。第一步,即加......
  • 使用 Web Share API 分享内容
    WebShareAPI是一个新的标准,允许网页向操作系统的原生分享功能发起请求。这使得用户可以更方便地分享网页上的内容到其他应用或者社交媒体上。什么是WebShareAPI?WebShareAPI是一个JavaScriptAPI,允许网页开发者通过调用浏览器原生分享功能,让用户分享内容到其他应......
  • mach(zig):从webGPU api了解渲染通道&shader
    学opengl3.3教程,你将了解通用图形渲染api。学vulkan,你将用1000+行代码画一个三角形。学webGPUapi,你将获得跨平台的图形api设计规范。reddit上有人说:OpenGL只是与3D硬件连接的几个应用程序接口之一。所有这些应用程序接口的基本概念都是一样的,即使应用程序本身的方式略有不......