Разбор HTML с помощью регулярного выражения JMeter - PullRequest
1 голос
/ 25 октября 2011

У меня возникли проблемы с регулярным выражением в JMeter. У меня есть эта форма в HTML

<form class="UIForm" id="UIComposer" action="/portal/intranet/?portal:componentId=b5914710-6c12-4fa9-9a18-2707d97111b7&interactionstate=JBPNS_rO0ABXcmAAt1aWNvbXBvbmVudAAAAAEAClVJQ29tcG9zZXIAB19fRU9GX18*&portal:type=action" onsubmit="return false;" method="post">

и мне нужно получить значения componentId и interactionstate в JMeter в качестве переменных.

Ответы [ 3 ]

1 голос
/ 25 октября 2011

Используйте взамен XPath Extractor .

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

1 голос
/ 25 октября 2011

Jmeter использует регулярные выражения PERL для извлечения и сохранения значений в переменные.

Вот отличный ресурс для изучения того, как их записать: http://www.regular -expressions.info /

Вот ссылка на руководство пользователя Jmeter: http://jmeter.apache.org/usermanual/component_reference.html#Regular_Expression_Extractor

В Jmeter убедитесь, что вы поставили круглые скобки () вокруг элементов, которые вы хотите сохранить в переменной.Учитывая, что вы новичок в JMeter, я бы порекомендовал иметь ДВА регулярных выражения - по одному для каждого элемента.Это облегчит вам отслеживать и отлаживать.В итоге вы получите такие выражения, как: componentId=(.+?);

0 голосов
/ 25 октября 2011

Пожалуйста, не используйте регулярные выражения для получения значений атрибутов.Есть так много угловых случаев с точки зрения побега персонажа и таких, что он может когда-нибудь сломаться.Посмотрите на API обработки XML, такие как SAX, StAX, DOM или XSLT.Имейте в виду, что для этого требуется, чтобы HTML был XML-совместимым (если он покрыт XHTML).

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

В качестве альтернативы выясните, можете ли вы каким-либо образом использовать то, что уже существует для обработки HTTP-сообщений / получений через Servlet API или что-то подобное.Они размещают параметры URL на карте для поиска.

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