通过在JMeter中检查响应主体来停止发送请求

我想继续调用REST API,直到响应正文包含100个元素。

这是示例:

要求: someurl/get/data

响应:第一次API调用:(包括2个元素)

{

"items" : [

{

"name": "abc",

"id" : "ajdiw123"

},

{

"name": "abc",

"id" : "ajdiw123345"

}

]

}

第二次API调用:(4个元素)

{

"items" : [

{

"name": "abc",

"id" : "ajdiw123"

},

{

"name": "def",

"id" : "ajdiw145"

},

{

"name": "afc",

"id" : "ajdiw113"

},

{

"name": "bbc",

"id" : "ajdiw199"

}

]

}

像这样,响应主体中包含的元素可以更改。在某个时候,它将在那里返回100个具有100个不同id的元素。我如何确定这一点并停止使用JMeter将请求发送到端点。

回答:

根据您的测试计划,可以通过多种方式实现。

向您的请求添加JSON提取器和JSR223声明。

JSR223断言代码将类似于:

String totalIDs = vars.get("id_matchNr");

Integer result = Integer.valueOf(totalIDs);

if (result == 100){

AssertionResult.setFailure(true);

}

之后,只需向该请求添加一个结果状态操作处理程序,这样它将停止特定线程的执行:

以上是 通过在JMeter中检查响应主体来停止发送请求 的全部内容, 来源链接: utcz.com/qa/411897.html

回到顶部