JSR223常用函数和对象--Jmeter内置对象Chapter1
1.vars
vars.get用于获取jmeter用户定义的变量,CSV参数化变量,关联获取的参数等引入到JSR脚本内,引用变量名称"C_CardNo"后赋值到startNo
vars.put则是将JSR内的变量startNo输出到jmeter可以作为变量引"C_startNo"
(1)关联获取参数
(2)通过JSR处理数据
String startNo = vars.get("C_CardNo")
vars.put("C_startNo",startNo)
(3)后续引用
2.补充:vars.putObject和vars.getObject
vars.get、put是对变量的传递,putObject则可以传递函数
首先在一个JSR223 Sampler定义一个函数并输出
def Add = {a,b -> a+b}
vars.putObject("Add",Add)
在另一个JSR223 Sampler引用
def sum = vars.getObject("Add")
def sumnum = sum(1,1)
log.info("vars.getObject(\"Add\")=" + sumnum)
执行查看输出
3.props
vars和props都是jmeter的内置变量,且本质都是Map类型,不同的是
vars在当前线程中实现值或者函数的传递
props咋可以跨线程传递,属于jmeter全局属性
在线程组A中进行一个模拟赋值
在线程组B中引用并输出
4.log
log.info("Mz_patName="+patName)
log.error("Mz_patName="+patName)
log.warn("Mz_patName="+patName)
jmeter内置三个级别的日志输出,对应选项中三个三个日志级别,在jmeter日志框内查看
另外可以使用“OUT.println”将内容输出到Jmeter工作台
在JSR223中使用groovy脚本是可以直接使用“println”
OUT.println("这是JSR223 Sampler的输出OUT.println")
println("这是JSR223 Sampler的输出println")
其输出内容会在CMD中展示
5.prev
log.info("请求头信息========="+ prev.getRequestHeaders())
log.info("响应头信息========="+ prev.getResponseHeaders())
log.info("获取响应码========="+ prev.getResponseCode())
log.info("响应信息=========" + prev.getResponseMessage())
log.info("数据类型=========" + prev.getDataType())
log.info( "内容类型=========" + prev.getContentType())
log.info("媒体类型=========" + prev.getMediaType())
log.info("结果文件名=========" + prev.getResultFileName())
log.info("接口请求结果=========" + (prev.isSuccessful() ? "成功," : "失败,"))
log.info("线程名称=========" + prev.getThreadName())
log.info("请求组件自定义名称=========" + prev.getSampleLabel())
log.info("请求接口=========" + prev.getUrlAsString())
log.info( "响应报文体=========" + prev.getResponseDataAsString())