在jmeter中捕获http请求和响应的详细信息
我正在为http请求设置jmeter测试计划,我想创建一个表,从http请求和响应中捕获一些细节。我使用CSV数据集配置从文件中读取http请求。我的请求和响应格式如下 Http请求格式:在jmeter中捕获http请求和响应的详细信息,jmeter,performance-testing,jmeter-5.0,Jmeter,Performance Testing,Jmeter 5.0,我正在为http请求设置jmeter测试计划,我想创建一个表,从http请求和响应中捕获一些细节。我使用CSV数据集配置从文件中读取http请求。我的请求和响应格式如下 Http请求格式:{“类型”:“”“有效负载”:[]} Http响应格式:{“响应”:[]} 我想为每个请求、响应捕获的内容包括HTTP请求的类型、响应的数组大小(或有效负载的数组大小)和所用的时间 我使用的jmeter版本是v5.2.1。关于如何设置的任何输入 编辑:我的HTTP请求是POST请求。我希望从请求正文中捕获详细信
{“类型”:“”“有效负载”:[]}
Http响应格式:{“响应”:[]}
我想为每个请求、响应捕获的内容包括HTTP请求的类型、响应的数组大小(或有效负载的数组大小)和所用的时间
我使用的jmeter版本是v5.2.1。关于如何设置的任何输入
编辑:我的HTTP请求是POST请求。我希望从请求正文中捕获详细信息。如果您不介意使用JMeter插件,您可以:
- 已创建变量的名称:
responsearray
- JSON路径表达式:
$.RESPONSE.*
- 匹配编号:
您需要在示例变量中声明的变量值将是-1
responsearray\u matchNr
如果您不能使用插件,您仍然可以使用以下代码实现相同的功能:
def result=新文件('result.txt'))
def request=new groovy.json.JsonSlurper().parseText(sampler.getArguments().getArguments(0.getValue())
def requestType=request.TYPE
def requestArray=request.PAYLOAD.size()
def response=new groovy.json.JsonSlurper().parse(prev.getResponseData())
def responseArray=response.response.size()
def timetake=prev.getTime()
结果
def result = new File('result.txt')
def request = new groovy.json.JsonSlurper().parseText(sampler.getArguments().getArgument(0).getValue())
def requestType = request.TYPE
def requestArray = request.PAYLOAD.size()
def response = new groovy.json.JsonSlurper().parse(prev.getResponseData())
def responseArray = response.RESPONSE.size()
def timeTaken = prev.getTime()
result << requestType << ',' << requestArray << ',' << responseArray << ',' << timeTaken << System.getProperty('line.separator')