如何在Jmeter中提取响应数据JSON并将变量保存到CSV文件

如何在Jmeter中提取响应数据JSON并将变量保存到CSV文件,jmeter,Jmeter,我试图从响应数据中提取密钥“count”,并将其值(int)写入CSV文件 我也使用了BeanShell后处理器 以下是我使用的脚本: count = vars.get("count"); f = new FileOutputStream("file path", true); p = new PrintStream(f); this.interpreter.setOut(p); print(count); f.close(); 和JSON示例,我试图提取: {"meta":{"mess

我试图从响应数据中提取密钥“count”,并将其值(int)写入CSV文件

我也使用了BeanShell后处理器

以下是我使用的脚本:

count = vars.get("count");

f = new FileOutputStream("file path", true);
p = new PrintStream(f); 
this.interpreter.setOut(p); 
print(count);
f.close();
和JSON示例,我试图提取:

{"meta":{"message":"","is_error":false,"count":295,"next":"123","status":1000,"previous":""}
这样,“null”将打印在CSV文件中

请让我们知道我错过了什么


应该是295在CSV文件中打印。

检查提取器是否获取正确的值。下面,我使用了相同的代码,并使用正则表达式提取器从json获取值。它工作得很好

希望能有帮助

注册表项更新

正则表达式配置-

下面是对正则表达式的测试。您始终可以使用RegEx Tester在视图结果树中测试正则表达式:-

主要是因为

因此,我建议,为了提取“count”值并以“单次”方式将其写入文件,相关代码如下所示:

new File('file path') << new groovy.json.JsonSlurper().parse(prev.getResponseData()).meta.count

新文件(“文件路径”)谢谢sunny。您是否使用Regex extor提取count的值?如果您能附上Regex extracor的快照,我将不胜感激。@Palash Jain.。请检查它是否有用。但是,虽然我已经给出了答案,但我个人还是同意Dmitri T的答案。谢谢sunny,它成功了。我还有一个疑问。在同一测试结果csv文件中对线程使用非gui模式时,是否有任何方法可以写入“count”值?是的,您可以使用jmeter变量..检查链接中的4.6部分。如果它帮助您接受答案,请参阅stackoverflow.com/help/someone-answer。我认为它应该是prev.getresponsedatastring()而不是prev.getresponsedatastring(),因为您的代码@Dmitri认为它应该保持原样,或者派生类实例,并且它具有返回响应体字节数组表示形式的函数。将其转换为字符串将导致JMeter和JsonPath两方面的双重工作,从性能角度看,最好使用字节数组了解它,这是我在下一个测试计划中学到的经验。谢谢@Dmitri T