JMeter-从JSON响应中提取多个变量并将其保存在CSV文件中
我已经看过几篇与此相关的帖子,但我找不到与我的场景非常匹配的,因此将其作为一个新问题发布 我有一个下面的JSON响应JMeter-从JSON响应中提取多个变量并将其保存在CSV文件中,jmeter,jsr223,post-processor,json-extract,Jmeter,Jsr223,Post Processor,Json Extract,我已经看过几篇与此相关的帖子,但我找不到与我的场景非常匹配的,因此将其作为一个新问题发布 我有一个下面的JSON响应 { "myshop": [ { "url": "test1", "hits": 1000 }, { "url": "test2", "hits": 2000 }, { "url": "test3", "hits": 3000 } ] } 我想提取
{
"myshop": [
{
"url": "test1",
"hits": 1000
},
{
"url": "test2",
"hits": 2000
},
{
"url": "test3",
"hits": 3000
}
]
}
我想提取每个URL及其对应的点击,并将其存储在CSV文件中,在这种情况下,CSV文件中有3行
test1,1000
test2,2000
test3,3000
但却没能成功做到这一点。我的JSON提取器:
$…url;$。。匹配号为-1的命中率
但它会选择所有的URL,但不会选择任何随机的点击值。
此外,我还能够使用一个for-each控制器和一个变量从JSON中提取,并使用BeanShell后处理器成功地将其写入CSV,但在这种情况下,同样的方法不起作用。任何指示都会有帮助。
我确实用JSR223后处理器检查了一些答案,但这并没有涵盖这个问题场景
提前谢谢
newgroovy.json.JsonSlurper().parse(prev.getResponseData()).myshop.each{entry->
新文件('entries.csv')非常感谢,Dmitri,工作起来很有魅力。有没有办法再从以前的HTTP Get请求中提取一个变量附加到myshop。每个条目?基本上,第一个HTTP Get请求用一个标识符响应,这里提到的第二个HTTP Get请求根据这个标识符生成响应,实际上它包含在HTTP GET方法中,您可以使用vars
速记来访问JMeter变量,它代表类实例,如new File('entries.csv')
new groovy.json.JsonSlurper().parse(prev.getResponseData()).myshop.each { entry ->
new File('entries.csv') << entry.get('url') << ',' << entry.get('hits') << System.getProperty('line.separator')
}