2016-09-13 2 views
2

Я бегу испытания с JMeter и мне нужно извлечь с помощью регулярного выражения:Как извлечь несколько значений с помощью регулярного выражения в Jmeter

insertar?sIws2kyXGJJA_01== 
insertar?sIws2kyXGJJA_02== 

в следующей строке:

[\"EMBPAGE1_00010001\",\"**insertar?sIws2kyXGJJA_01==**\",1,100,\"%\",300,\"px\",0,\"center\",\"\",\"[\"EMBPAGE1_00010002\",\"**insertar?sIws2kyXGJJA_02==**\",1,100,\"%\",300,\"px\",0,\"center\",\"\",\" 

ответ

3

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

Другой подход:

1. Захват Оба значения:

Вы можете использовать шаблон, чтобы захватить оба значения одновременно, а затем, передать его с помощью индексации.

Пожалуйста, проверьте следующее снимок экрана:

enter image description here

Здесь мы захватили оба значения с помощью двух групп в двух различных шаблонов, а $ 1 $ и $ 2 $ соответственно. Здесь шаблоны хранят данные по порядку групп, указанных в регулярном выражении по умолчанию. (FYI, вы можете изменить порядок также путем настройки порядка шаблонов, таких как $ 2 $, а затем $ 1 $.)

Теперь, как на диаграмме, мы собираем два значения и сохраняем их с помощью шаблонов: $ 1 $ (относится в первый матч группового этапа) и $ 2 $ (относится к второму матчу группы)

2. Восстановите значение:

Теперь, передать эти значения в сценарии, используя следующий синтаксис:

$ { insert_values_gn} (n относится к совпадению №.)

например:

$ {insert_values_g1} - относится к первому матчу

$ {insert_values_g2} - относится ко второй матч

Чтобы сделать это простым, Вы можете думать "INSERT_VALUES" как список строк, захваченных несколькими группами и, используйте «n» (1,2,3 и т. д.) в качестве индекса для получения значений.

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

2

I уверен, что есть более эффективный способ, но это сработало:

\*\*(.*?)\*\*.*\"\*\*(.*?)\*\* 

enter image description here

Вы также можете использовать только \*\*(.*?)\*\* Он все равно будет соответствовать им всем, поэтому убедитесь, что вы установили правильный «Matching No.» в Jmeter, если вы передадите одно из значений:

enter image description here

согласующего Нет должно быть 1 для первого, и 2 для второго матча я верю.