как извлечь тип ввода = скрытый в jmeter с помощью экстрактора regularexpression, cssextractor или экстрактора xpath

#jmeter

Вопрос:

Я хочу получить значение типа ввода = «скрытое» имя = «CRAFT_CSRF_TOKEN» значение=»dfsdgdg»

ниже приведен ответ, который я получаю на свой первый запрос. Я хочу прочитать значение из первого запроса и использовать его в своем последующем запросе. Я пробовал использовать экстрактор регулярных выражений, экстрактор селектора CSS и экстрактор XPath, ни один из них не работал. Введите описание изображения здесь введите описание изображения здесь тип ввода=»скрытый» имя=»CRAFT_CSRF_TOKEN» value=»4edwUQQn9gYbf5zYjz4fuRIfyu3lzoXi3_27IU7Jj54RLskSWvVvnKadSTdGYpVofQmqn79hT9dHLYeBsZf0h6-M9HErsMb6eXiHWTXHXt4=»

Ответ №1:

  1. XPath: //input[@type='hidden' and @name='CRAFT_CSRF_TOKEN']/@value

    введите описание изображения здесь

    Однако лучше использовать XPath2 (можно использовать тот же синтаксис).

    введите описание изображения здесь

  2. CSS: input[type=hidden][name=CRAFT_CSRF_TOKEN]

    введите описание изображения здесь

Комментарии:

1. Я использую Xpath extractor в тестовом плане и отладочном сэмплере для просмотра результата, когда я вижу результат в отладочном сэмплере, он выводит пустую строку без маркера

2. У меня есть сложный dom, и он печатает образец отладки пустой строки

3. это URL-адрес, который дает мне craft_csrf_token snapmed.no/kontakt-1 когда вы нажимаете «Отправить», я хочу сопоставить craft_csrf_token и опубликовать ответ. Я не смог сделать это с помощью экстрактора regularexpression, экстрактора XPath или экстрактора csss, который может помочь мне в этом?

4. Вам была оказана вся необходимая помощь (если не больше), вот доказательства того, что извлечение работает с использованием инструкций, приведенных выше. Чего еще ты хочешь? Проверьте, как использовать экстрактор CSS/jQuery в JMeter , если что-то остается неясным

Ответ №2:

Вы можете использовать экстрактор XPath, экстрактор XPath2 и экстрактор CSS, как в другом ответе. Все они хорошо работают, если ваш ответ является допустимым HTML.

Вот еще один вариант с экстрактором регулярных выражений.

введите описание изображения здесь

Обычное выражение

 name="CRAFT_CSRF_TOKEN" value="(.*?)"
 

Примечание. Вы можете проверить синтаксис регулярных выражений, CSS, XPath и т.д. В дереве результатов просмотра.

Комментарии:

1. Я вижу значение CSRF_TOKEN как пустую строку, не знаю точной причины, я думаю, потому что в ответе есть сложный DOM

2. Не могли бы вы, пожалуйста, проверить ответы внутри дерева результатов просмотра? Кроме того, установите параметр Применить в —> Основной образец и под-образцы и проверьте, работает ли он. Вы получаете маркер в теле ответа или в заголовке?

3. да, я установил только основной образец и под-образцы. Я получаю это в теле ответа. Мое тело ответа сложное, в нем 1000 строк. craft_csrf_token находится на линии 450. более того, в нем даже есть тег <script>

4. Вы можете проверить XPath, CSS и регулярные выражения в дереве результатов просмотра. Выберите ответ и проверьте выражение. Кроме того, вы можете поделиться ответом, чтобы проверить его дополнительно.

5. Ответ слишком длинный, это API, который я использую snapmed.no/kontakt-1 Я получаю токен csrf в приведенном выше ответе API. Да, я проверяю результаты в дереве результатов просмотра с помощью отладочного сэмплера