• JSR223常用函数和对象--Jmeter内置对象Chapter1


    1.vars

     vars.get用于获取jmeter用户定义的变量,CSV参数化变量,关联获取的参数等引入到JSR脚本内,引用变量名称"C_CardNo"后赋值到startNo

    vars.put则是将JSR内的变量startNo输出到jmeter可以作为变量引"C_startNo"

    (1)关联获取参数

    (2)通过JSR处理数据

    1. String startNo = vars.get("C_CardNo")
    2. vars.put("C_startNo",startNo)

    (3)后续引用

    2.补充:vars.putObject和vars.getObject

    vars.get、put是对变量的传递,putObject则可以传递函数

    首先在一个JSR223 Sampler定义一个函数并输出

    1. def Add = {a,b -> a+b}
    2. vars.putObject("Add",Add)

    在另一个JSR223 Sampler引用

    1. def sum = vars.getObject("Add")
    2. def sumnum = sum(1,1)
    3. log.info("vars.getObject(\"Add\")=" + sumnum)

    执行查看输出

     3.props

    vars和props都是jmeter的内置变量,且本质都是Map类型,不同的是

    vars在当前线程中实现值或者函数的传递

    props咋可以跨线程传递,属于jmeter全局属性

    在线程组A中进行一个模拟赋值

     在线程组B中引用并输出

    4.log

    1. log.info("Mz_patName="+patName)
    2. log.error("Mz_patName="+patName)
    3. log.warn("Mz_patName="+patName)

    jmeter内置三个级别的日志输出,对应选项中三个三个日志级别,在jmeter日志框内查看

    另外可以使用“OUT.println”将内容输出到Jmeter工作台

    在JSR223中使用groovy脚本是可以直接使用“println”

    1. OUT.println("这是JSR223 Sampler的输出OUT.println")
    2. println("这是JSR223 Sampler的输出println")

     其输出内容会在CMD中展示

     5.prev

    prev可以用来获取请求或响应的状态和报文信息

    下面以log形式展示

    1. log.info("请求头信息========="+ prev.getRequestHeaders())
    2. log.info("响应头信息========="+ prev.getResponseHeaders())
    3. log.info("获取响应码========="+ prev.getResponseCode())
    4. log.info("响应信息=========" + prev.getResponseMessage())
    5. log.info("数据类型=========" + prev.getDataType())
    6. log.info( "内容类型=========" + prev.getContentType())
    7. log.info("媒体类型=========" + prev.getMediaType())
    8. log.info("结果文件名=========" + prev.getResultFileName())
    9. log.info("接口请求结果=========" + (prev.isSuccessful() ? "成功," : "失败,"))
    10. log.info("线程名称=========" + prev.getThreadName())
    11. log.info("请求组件自定义名称=========" + prev.getSampleLabel())
    12. log.info("请求接口=========" + prev.getUrlAsString())
    13. log.info( "响应报文体=========" + prev.getResponseDataAsString())

    prev的应用举例:

    1. import groovy.json.JsonSlurper
    2. //通过prev获取响应报文
    3. def str = prev.getResponseDataAsString()
    4. //利用groovy.json.JsonSlurper解析报文
    5. def slurper = new JsonSlurper().parseText(str)
    6. String patName = slurper.data.patName

  • 相关阅读:
    #案例:演示网页截图!
    一文读懂LSTM及手写LSTM结构
    HttpClient远程调用基本使用(详解)
    云原生大趋势下的容器化技术现状与发展
    木材图像远程鉴定系统开发与实现
    Go语言的100个错误使用场景(21-29)|数据类型
    《Redis篇》Another Redis DeskTop Manager 超详细安装教程
    软件测试之概念篇2(瀑布模型、螺旋模型、增量模型和迭代模型、敏捷模型,V模型、W模型)
    【数据结构】队列-Queue
    k8s中如何使用gpu、gpu资源讲解、nvidia gpu驱动安装
  • 原文地址:https://blog.csdn.net/weixin_39913716/article/details/126643647