2

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

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

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

第二次测试的请求格式如下:

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

所以发送的请求应该是:

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

为测试。

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

4

2 回答 2

2

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

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

于 2012-07-26T22:40:42.080 回答
1

“测试”是指请求吗?如果您要在其间传递数据的请求属于同一个线程组,那么您可以简单地使用正则表达式提取器

于 2012-07-27T15:07:30.103 回答