Регулярное выражение в регулярном выражении экстрактора - JMeter - PullRequest
1 голос
/ 04 ноября 2019

Я использую экстрактор регулярных выражений в 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}

Ответы [ 2 ]

1 голос
/ 04 ноября 2019

Используйте взамен JSON Extractor с JSON Path Expressions в качестве $.access_token

JSON PostProcessor позволяет извлекать данные из ответов JSON с использованием синтаксиса JSON-PATH. Этот постпроцессор очень похож на экстрактор регулярных выражений. Он должен быть размещен как дочерний элемент HTTP Sampler или любого другого сэмплера, который имеет ответы. Это позволит вам очень просто извлечь текстовый контент

0 голосов
/ 04 ноября 2019
  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

Дополнительная информация:


И, наконец, ваш ответ в формате JSON , поэтому имеет смысл использовать JSON Extractor , соответствующий запрос JsonPath будет таким же простымкак:

$.access_token

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...