我想继续调用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将请求发送到端点。
答案 0 :(得分:2)
可以根据您的测试计划以多种方式实现。
为您的请求添加JSON Extractor和JSR223 Assertion。
JSON提取器设置如下:
JSR223断言代码如下:
String totalIDs = vars.get("id_matchNr");
Integer result = Integer.valueOf(totalIDs);
if (result == 100){
AssertionResult.setFailure(true);
}
在那之后,只需向该请求添加一个Result Status Action Handler,它将停止特定线程的执行:
答案 1 :(得分:1)
尝试一下: