2016-11-14 2 views
0

У меня есть страница, которая возвращает набор каталогов идентификаторов в следующем формате:Нужна помощь в понимании JMeter регулярного выражение экстрактор и вывод результатов дерева

addCatentryId('445653', '23151', 'csb_RVI_10053'); 

Я пытаюсь отделить каждого из указанных выше значений в массив для дальнейшей оценки.

На основе предложений в другом посте в этом форуме, был рекомендован два шага подход:

1) Используйте первый регулярное выражение экстрактор для извлечения сегмента данных выше со страницы, данных ответа

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

Для этого у меня есть настройки следующие экстракторы в моем JMeter сценария:

экстрактор 1: Jmeter Regular Expression Extractor 1

экстрактор 2: Jmeter Regular Expression Extractor 2

Когда я исполняю выше, я получаю следующие результаты, которые я не уверен, как интерпретировать, но оказывается, что catEntryIDString находится, но по какой-то причине не подается на второй процесс регулярного выражения:

JMeterVariables: 
JMeterThread.last_sample_ok=true 
[email protected]67 
START.HMS=073225 
START.MS=1479126745560 
START.YMD=20161114 
TESTSTART.MS=1479129860911 
__jmeter.USER_TOKEN__=Place User Order 1-1 
arrValItemId= <---- Why is this empty? 
catEntryIDString=null <--- should this be null? 
catEntryIDString_g=0 
catEntryIDString_g0=addCatentryId('460734', '12220', 'csb_RVI_10053'); <-- data appears to be getting retrieved by 1st extractor 

Любая помощь будет принята с благодарностью, поскольку Google Search не содержит никакой полезной информации, а страницы справки BlazeMeter для JMeter не затрагивают эту детальную информацию (по крайней мере, основываясь на результатах поиска на этом сайте).

Спасибо заранее!

ответ

0

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

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

addCatentryId\('(.*?)', '(.*?)', '(.*?)'\); 

Ниже эталонное изображение: enter image description here

После того, как вы захватить все три значения в Reference Name называется AllValues (в примере изображения), то мы можем получить доступ к каждому группа/значение следующим образом:

первая группа - AllValues_1_g1 (которая дает 445653) вторая группа - AllValues_1_g2 (что дает 23151) третьей группы - AllValues_1_g3 (что дает csb_RVI_10053)

ссылка Изображения: enter image description here

Если вы хотите передать любой захваченный valule в последующих запросах, мы используем следующий синтаксис JMeter:

$ {reference_name}

например:

${AllValues_1_g1} - использовать значение 445653.

Ссылка:

  1. https://stackoverflow.com/a/39547786/2575259
Смежные вопросы