#jmeter
Вопрос:
Я хочу получить значение типа ввода = «скрытое» имя = «CRAFT_CSRF_TOKEN» значение=»dfsdgdg»
ниже приведен ответ, который я получаю на свой первый запрос. Я хочу прочитать значение из первого запроса и использовать его в своем последующем запросе. Я пробовал использовать экстрактор регулярных выражений, экстрактор селектора CSS и экстрактор XPath, ни один из них не работал. Введите описание изображения здесь введите описание изображения здесь тип ввода=»скрытый» имя=»CRAFT_CSRF_TOKEN» value=»4edwUQQn9gYbf5zYjz4fuRIfyu3lzoXi3_27IU7Jj54RLskSWvVvnKadSTdGYpVofQmqn79hT9dHLYeBsZf0h6-M9HErsMb6eXiHWTXHXt4=»
Ответ №1:
- XPath:
//input[@type='hidden' and @name='CRAFT_CSRF_TOKEN']/@value
Однако лучше использовать XPath2 (можно использовать тот же синтаксис).
- 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. Да, я проверяю результаты в дереве результатов просмотра с помощью отладочного сэмплера