提取器正则表达式中的正则表达式问题-JMeter

我在JMeter中使用正则表达式提取器从参数中提取数据。 但是,没有提取数据。

响应:

{
    "access_token": "8d06ba17-2e51-31d2-aa55-25e4a3ecd33b","expires_in": 7200
}

提取器:

Name reference: token
Regular expression: "access_token": "(.+?)"
Match: $1$

请求参数使用

v1/api/users?client=${token}
zmshenzheng 回答:提取器正则表达式中的正则表达式问题-JMeter

使用JSON Path Expressions作为$.access_token的{​​{3}}

  

JSON PostProcessor使您可以使用JSON-PATH语法从JSON响应中提取数据。该后处理器与正则表达式提取器非常相似。必须将其放置为HTTP Sampler或具有响应的任何其他Sampler的子级。这将使您以非常简单的方式提取文本内容

,
  1. 您的access_token是类似GUID的结构,因此您可以改用以下正则表达式:

    ([A-Fa-f0-9]{8}[\-][A-Fa-f0-9]{4}[\-][A-Fa-f0-9]{4}[\-][A-Fa-f0-9]{4}[\-]([A-Fa-f0-9]){12})
    

    enter image description here

  2. 或者,您可以尝试通过添加可选的空白元字符来保护自己,例如:

    "access_token"\s?:\s?"(.+?)"
    

    enter image description here

更多信息:


  1. 最后,您的回复采用JSON格式,因此使用JSON Extractor更有意义,相关的JsonPath查询将非常简单:

    $.access_token
    

    enter image description here

本文链接:https://www.f2er.com/3166350.html

大家都在问