Jmeter在另一个请求中解析特定的ID

时间:2018-07-19 08:35:16

标签: testing jmeter

我需要从JSON获取id参数,并在另一个请求URL中解析该id值。问题是在JSON中,我获取了多个ID值,例如6,Etc / UTC等。我只希望传递整数值。 请提出自动化解决方案,而不是每次都传递值。 Screenshot of json extractor response

2 个答案:

答案 0 :(得分:0)

您可以add regex expression使用JSON表达式

  

$ .. book [?(@。author =〜/.*REES/i)]所有与正则表达式匹配的图书(忽略大小写)

在您的情况下,为数字添加正则表达式:

=~ /.*(\d+)/i)]

答案 1 :(得分:0)

我的期望是,您需要修改JSON Path查询,以获取并非所有ID,而仅获取数字ID。不幸的是,如果没有看到您的响应和JSON Path查询,我们将无法提出任何有意义的建议。

根据您的回答,我只能建议仅使用JSR223 PostProcessorGroovy language获取第一个数字ID。

  1. 在 JSON提取器后之后添加JSR223 PostProcessor
  2. 将以下代码放入“脚本”区域:

    for (int i = 1; i <= (vars.get('id_matchNr') as int); i++) {
        def currentVar = vars.get('id_' + i)
        if (currentVar =~ '(\\d+)') {
            vars.put('someid', currentVar)
            break;
        }
    }
    
  3. 您将可以在需要时以${someid}的身份访问第一个数字ID。