Регулярное выражение утверждения ответа jmeter

У меня проблема с использованием regexp в утверждениях ответа в jmeter, как и в экстракторе регулярных выражений. Вот один пример, с которым у меня проблемы

Средство извлечения регулярных выражений - извлекает sessionId из ответа JSON «sessionId»: «([^"] +) », который извлекает значение между« »и то, что в настоящее время работает.

то же регулярное выражение, которое используется в Response Assertion, не работает.

Как правило, мне нужно регулярное выражение, которое извлекает значения между кавычками для использования в утверждениях ответа.

ИЗМЕНИТЬ

Кажется, я не объяснил проблему ясно, моя проблема

Итак, вот оно - можно ли использовать регулярное выражение для утверждения ответа, такого как "sessionId": "([^"] +) ", что означает, что меня интересует только" sessionId ":" somevalue, отличное от null ", и если да, то что должно быть похожим на регулярное выражение

Спасибо


person Nikolay Marinov    schedule 06.02.2017    source источник
comment
Вообще то, что мне нужно, это регулярное выражение, которое извлекает значения между кавычками и все? Вы только одно регулярное выражение для этого?   -  person Shakiba Moshiri    schedule 06.02.2017
comment
Вообще говоря, да, регулярное выражение, которое извлекает значение между кавычками из ответа JSON, но такое, что работает для утверждения ответа   -  person Nikolay Marinov    schedule 06.02.2017
comment
Я не знаю о Jmeter, и лучше отредактировать свой тег и добавить JSON, если он относится к JSON   -  person Shakiba Moshiri    schedule 06.02.2017


Ответы (3)


Утверждение ответа позволяет писать регулярные выражения в стиле Perl для Contains, Matches параметров.

Contains - для частичного совпадения Matches - для полного совпадения

Попробуйте следующее регулярное выражение:

"sessionid":".*?"

Если специальные символы нуждаются в экранировании, используйте \ для экранирования следующим образом.

\"sessionid\":\".*?\"

Следите за пробелами в регулярном выражении.

Ссылка:

  1. http://jmeter.apache.org/usermanual/component_reference.html#Response_Assertion
person Naveen Kumar R B    schedule 07.02.2017

Я не понимаю, как вы можете использовать регулярное выражение в утверждении ответа, поскольку вы должны иметь некоторую форму «ожидаемого результата».

Если вы можете извлечь sessionId в переменную JMeter, то есть $ {sessionId}, вы должны иметь возможность использовать Response Assertion, чтобы проверить, является ли оно нулевым, с помощью следующей простой конфигурации:

  • Установите для поля «Применить к» в утверждении ответа значение «JMeter Variable» и поместите туда ссылочное имя переменной, например sessionId

    Переменная утверждения ответа JMeter

Если ваше регулярное выражение ни с чем не будет соответствовать, соответствующий сэмплер выдаст сообщение Response was null:

Утверждение переменной JMeter пустое

См. Как использовать утверждения JMeter за три простых шага статья для получения исчерпывающей информации об использовании утверждений JMeter для условного отказа вашего запроса на основании различных критериев.

person Dmitri T    schedule 07.02.2017

В утверждении ответа просто напишите $ {referenceName}, где referenceName = имя переменной извлеченного значения с регулярным выражением.

person uru917    schedule 06.02.2017