Извлечение значения из HTML Response с использованием регулярного выражения в JMETER? - PullRequest
4 голосов
/ 31 мая 2011

Я получаю ответ от Jmeter, как это:

Я хотел получить из этого значение 3256 и сохранить его в переменной.Затем я могу использовать эту переменную для дальнейшего использования, как ${variable}.Для этого я использую RegularExpressionExtractor в области действия сэмплера.

Пожалуйста, дайте мне регулярное выражение для извлечения этого значения.

Ответы [ 8 ]

3 голосов
/ 31 мая 2011

Попробуйте что-то вроде:

encounterId=([0-9]+)

и используйте в качестве результата группу 1.

1 голос
/ 15 июня 2011

На самом деле лучший awnser от Ibu в комментарии:

value = \ "(\ d +) \" and: value = "([^"] +?) "тоже будет работать

Так что в jemter это будет выглядеть так:

имя ссылки: значение

регулярное выражение: (\ s значение = \ "(\ d +)\ ")

Регулярное выражение: (\ s value =" ([^ "] +?)")

шаблон: $ 2 $

номер матча: 1

Если вам нужно только значение, имеющее ссылочное имя queueItemId , вы можете изменить reg ex на это.

Итак, из jmeter reg ex extractor вы получили:

ссылочное имя: queueItemId

Regex: (name = "queueItemId" \ s value = "([^"] +?)")

Regex: (name = "queueItemId" \ s value = \ "(\ d +) \")

шаблон: $ 2 $

номер матча: 1

Вы должны проверить регулярное выражение с помощью jakarta oro, потому что jmeter использует это reg ex engine.

Ознакомьтесь с ORO из Джакарты здесь: http://jakarta.apache.org/oro/demo.html

ORO - это инструмент reg ex, который ведет себя почти точно так же, как jmeter.

В большинстве случаев стандартный инструмент reg ex будет работать, но со мной иногда случалось, что reg ex в моем инструменте работал нормально.но не работал в jmeter.

Позже я обнаружил инструмент ORO и смог заставить его работать в oro (и jmeter)

Еще одно примечание: я думаю, что jmeter игнорирует пробел в вашем регистреНапример, вы должны добавить / s, когда вы хотите сравнить пробел.

1 голос
/ 31 мая 2011

Лучше, чем использовать регулярное выражение для извлечения этого значения, я бы предложил использовать XPath Extraction следующим образом:

//form[@name='MyForm']//input[@name='queueItemId']/@value

Где MyForm - это имя вашей формы, замените его на все, что у вас есть.

0 голосов
/ 19 марта 2018

Наиболее удобный способ в последней версии JMeter - использовать CSS / JQuery Extractor :

Using CSS/JQuery

Наиболее эффективным является использование нового Boundary Extractor :

Boundary Extractor

Если вы действительно хотите использовать Regular_Expression_Extractor :

Regex

0 голосов
/ 04 марта 2014
var str = "<a href='/openmrs/module/moca/encounterViewer.form?encounterId=3537'></a>"
var regex = /<a.*?href='(.*?)'/;
var src = regex.exec(str)[1];
var numb = src.split("=")[1];
alert (numb);
0 голосов
/ 31 мая 2011

Следующее регулярное выражение будет соответствовать параметру и его значению:

\bencounterId=(\d*)

Скобки позволяют извлечь значение.Обратите внимание на границу слова \b, которая гарантирует, что параметр, заканчивающийся на encounterId, такой как fooencounterId, не соответствует.

0 голосов
/ 31 мая 2011

или попробуйте этот код regexId = '\ d +';

0 голосов
/ 31 мая 2011

Вот запрос XPath: -

//input[@type="hidden"][@id="queueItemId"][@name="queueItemId"]@value

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