Альтернативный экстрактор Jmeter для регулярных выражений - PullRequest
0 голосов
/ 12 января 2019

Я пытаюсь извлечь значение идентификатора сеанса из заголовка ответа. Есть ли другой способ, кроме использования lookbehind в jemeter? Я проверил свое регулярное выражение в regexformatter и оно работает, как и ожидалось, но поскольку jmeter не поддерживает lookbehind, решение не работает для меня.

Заголовок ответа:

Expires: 0
X-Frame-Options: DENY
x-session-id: 1a5e099f-5234-4
X-Application-Context: test:8080

Используется регулярное выражение:

  (?<=x-session-id: ).{0,16}

Может ли кто-нибудь помочь мне с этим?

Ответы [ 3 ]

0 голосов
/ 12 января 2019

Конфигуратор Regular Expression должен быть таким:

Regular Expression Extractor configuration

Regex:

x-session-id: (. *)

0 голосов
/ 14 января 2019

Согласно Регулярным выражениям главы Руководства пользователя JMeter :

Обратите внимание, что (?<=regexp) - lookbehind - не поддерживается.

Так что вы можете просто использовать что-то вроде: x-session-id:\s+(.+), и оно должно работать нормально:

enter image description here

Дополнительная информация: Использование регулярных выражений для извлечения токенов и идентификаторов сеансов в переменные

0 голосов
/ 12 января 2019

Предполагая, что последним символом идентификатора сеанса будут цифры. Тогда вы можете использовать следующее. Если вы думаете, что вторая группа в идентификаторе сеанса будет цифрами, тогда замените вторую \w+ на \d+, и она будет служить цели. Дайте мне знать, если вы думаете, что другой набор данных может потерпеть неудачу в этом регулярном выражении.

Регулярное выражение: (?:\w+-\w+-\d+)

Похоже, у вас есть понимание о Regex, поэтому не стоит упоминать объяснение. Дайте мне знать, если это не сработает для вас. Я попытаюсь придумать другой подход, но в этом сценарии, пожалуйста, дайте больше наборов данных. Удачи.

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