通过在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