1
<input type="hidden" name="_csrf" 
        value="40ea7f46-799b-4ca0-b8cd-4adfba082aed" /> 

Выше яв- ляется токен, который я получаю на выходе запроса. Я не могу заменить это регулярным выражением в Экземпляре регулярных выражений Jmeter.Я занимаюсь корреляцией в Jmeter. Я столкнулся с проблемой ниже, чтобы найти регулярное выражение.

<input type="hidden" name="_csrf" value="(.+?)" /> не работает.

Пожалуйста, помогите.

+0

Просьба поделиться конфигурацией экстренного экстренного выражения в JMeter. – Adnan

ответ

2

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

<input type="hidden"\s+name="_csrf"\s+value="([^"]+)"\s*/> 
+0

Спасибо @Tim Pietzcker .. Это прекрасно работает. – user3627319

1

вы должны быть осторожны с spaces/newlines.

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

value="(.*?)"\s/> 

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

name="_csrf"\s+value="(.*?)"\s/> 
0

Это еще доказательства для not using regular expressions to parse HTML, так как они очень хрупкие и чувствительны к минимальным изменениям разметки. Более надежное и устойчивое решение использует вместо этого CSS/JQuery Extractor или XPath Extractor.

  • Соответствующее CSS Выражение input[name=_csrf], используйте value как «атрибут»
  • XPath запрос, чтобы получить значение //input[@name='_csrf']/@value

См How to Load Test CSRF-Protected Web Sites руководства для получения более подробной информации о обходя защиту XSRF в JMeter тестах

 Смежные вопросы

  • Нет связанных вопросов^_^