首页 > 解决方案 > 如何在 jmeter 中使用正则表达式获取值

问题描述

我需要在 jmeter 中关联以进行性能测试,但无法获取所需的值。

    {
  "totalCount": 8,
  "data": [
    [
      "TEST_CLASS",
      "2020-05-18",
      "2020-05-18",
      9821844,
      "FY21 - WK 16",
      "FY21 - WK 16",
      null,
      "USER",
      "Name",
      "2020-05-11T10:45:14",
      283
    ],
    [
      "TEST_CLASS",
      "2020-05-18",
      "2020-05-18",
      9821842,
      "FY21 - WK 16",
      "FY21 - WK 16",
      null,
      "USER",
      "Name",
      "2020-05-11T10:30:45",
      283
    ],
    [
      "TEST_CLASS",
      "2020-05-18",
      "2020-05-18",
      9821848,
      "FY21 - WK 16",
      "FY21 - WK 16",
      null,
      "USER",
      "Name",
      "2020-05-11T11:11:21",
      283
    ],
    [
      "TEST_CLASS",
      "2020-05-18",
      "2020-05-18",
      9821843,
      "FY21 - WK 16",
      "FY21 - WK 16",
      null,
      "USER",
      "Name",
      "2020-05-11T10:39:03",
      283
    ],
    [
      "TEST_CLASS",
      "2020-05-18",
      "2020-05-18",
      9821846,
      "FY21 - WK 16",
      "FY21 - WK 16",
      null,
      "USER",
      "Name",
      "2020-05-11T10:54:55",
      283
    ],
    [
      "TEST_CLASS",
      "2020-05-18",
      "2020-05-18",
      9821849,
      "FY21 - WK 16",
      "FY21 - WK 16",
      null,
      "USER",
      "Name",
      "2020-05-11T12:35:45",
      283
    ],
    [
      "TEST_CLASS",
      "2020-05-18",
      "2020-05-18",
      9821845,
      "FY21 - WK 16",
      "FY21 - WK 16",
      null,
      "USER",
      "Name",
      "2020-05-11T10:50:57",
      283
    ],
    [
      "TEST_CLASS",
      "2020-05-18",
      "2020-05-18",
      9821847,
      "FY21 - WK 16",
      "FY21 - WK 16",
      null,
      "USER",
      "Name",
      "2020-05-11T11:05:58",
      283
    ]
  ],
  "additionalInfo": {
    "startDates": [
      "FY21 - WK 16"
    ],
    "createdByUsers": {
      "283": "USER Name"
    },
    "endDates": [
      "FY21 - WK 16"
    ]
  }
}

每次我创建记录时,这个值都会不断增加,json需要获取最后一个 使用正则9821847表达式的值, 但这对我json没有帮助一个正在使用后处理器生成,以便在创建记录时在正则表达式中使用它。"2020-05-18""TEST_CLASS""FY21 - WK 16""USER""Name""2020-05-11T10:30:45",JSR223

实际的正则表达式看起来像: TEST_CLASS","${c3}","${c3}",(.*?),"${FY_WK}","${FY_WK}",null,"USER","Name","${utc_time}:

如果我删除相关值,那么它看起来像 TEST_CLASS","2020-05-18","2020-05-18",(.*?),"FY21 - WK 16","FY21 - WK 16",null,"USER","Name","2020-05-11T11:05:

标签: jsonregexjmeterperformance-testing

解决方案


您可以使用具有以下配置的JSON Extractor获取所有值

  • 变量名:MyVar
  • JSON 路径表达式:$.data.[*].[3]
  • 比赛号码:-1
  • 默认值:NOT_FOUND

然后你可以使用${__V(MyVar_${MyVar_matchNr})}来获取最后一个值。


推荐阅读