如何在另一个测试的请求中使用JMeter中的测试响应?

时间:2012-07-26 16:40:40

标签: json jmeter load-testing

我有两个必须一个接一个地运行的测试。第一个测试的JSON响应包含一个字段,我必须从中提取值并将其放入文件中。第二个测试将读取此文件并替换JSON请求中的变量参数。

例如,如果第一个测试的响应是类型:

{"id":"a1","attr":"b1"}
{"id":"a2","attr":"b2"}

第二次测试的要求是:

{"ID":"${A}","ATTR":"B"}

所以发送的请求应该是:

{"ID1":"a1","ATTR":"B"}
{"ID2":"a2","ATTR":"B"}

进行测试。

我想要的是首先读取所有JSON响应,然后使用第一个字段中的值作为第二个测试的JSON请求的A参数的值。无论如何在JMeter中都有这样做吗?

2 个答案:

答案 0 :(得分:2)

您可以使用FlexibleFileWriter将提取的数据存储到文件中,然后使用例如第二次测试将其读取。 VariablesFromCSVRawDataSource插件或__CSVRead功能。

或者您可以创建一个大型测试(使数据传输变得微不足道),它将按顺序运行这两个测试(ParameterizedController可以帮助您参数化并整理这种方法。)

答案 1 :(得分:1)

通过'测试'你的意思是请求?如果您想要在其间传递数据的请求属于同一个线程组,那么您只需使用Regular Expression Extractor