• 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

  • 相关阅读:
    数据结构-排序算法总结
    Azure DevOps (八) 通过流水线编译Docker镜像
    JS类的继承和实现原理详解
    JAVA生成20位LONG型UUID
    数据结构和算法(5):二叉树
    Docker安装canal、mysql进行简单测试与实现redis和mysql缓存一致性
    基于Ubuntu Kylin系统在Hadoop的环境下调用MapReduce对单词WordCount计数
    煤矿皮带急停报警监测系统
    基于单片机开发的酒精浓度测试仪方案
    pytorch学习------实现手写数字识别
  • 原文地址:https://blog.csdn.net/weixin_39913716/article/details/126643647