首页 > 解决方案 > 如何等到在jmeter的响应中找到特定的单词?

问题描述

json响应是:

{
  "status": 11111,
  "data": {
    "mylist": 
    {
      "1": [
        {
          "id": 1,
          "tId": 11
        }],
    
      "2": [
        {
          "id": 2,
          "tId": 12
        },
        {
          "id": 3,
          "tId": 12
  
        },
        {
          "id": 4,
          "tId": 13,
        }
      ]
}

由于服务器需要时间来显示此响应,我们希望等到我们看到“1”和“2”下的值。我怎样才能做到这一点?

标签: jmeterrequestresponsewait

解决方案


  1. 添加 2 个JSON 提取器以将下面的id属性值存储到相关的JMeter 变量中12

    在此处输入图像描述

    在此处输入图像描述

  2. 将整个构造放在While 控制器下,并使用以下__groovy() 函数作为条件:

    ${__groovy((vars.get('1_matchNr') ?: 0  as int) == 0 && (vars.get('2_matchNr') ?: 0  as int) == 0,)}
    

    在此处输入图像描述

  3. 就是这样,JMeter 会重复请求,直到有结果下mylist包含至少一个id属性


推荐阅读