JMETER + POST + токен против подделки

Когда я пытаюсь запустить тестирование производительности в веб-приложении ASP.net, я всегда получаю сообщение "Не совпадают маркер файла cookie для защиты от подделки и маркер поля формы". или "Маркер защиты от подделки не может быть расшифрован. Если это приложение размещено на веб-ферме или в кластере, убедитесь, что на всех компьютерах установлена ​​одна и та же версия веб-страниц ASP.NET и что в конфигурации указаны явные ключи шифрования и проверки. Автогенерация не может использоваться в кластере."

Не могли бы вы помочь мне, как решить эту проблему. Я пробовал несколько методов, таких как добавление экстрактора регулярных выражений для извлечения "__RequestVerificationToken", но ничего не получилось.

Примечание: это происходит только когда я бегу от Jmeter. если я просматриваю приложение непосредственно в сети, я не вижу никаких проблем.

Спасибо пани

1 ответ

Рассматривая XSRF/CSRF Prevention в ASP.NET MVC и веб-страницах, вы обнаружите, что вы отправляете неверную __RequestVerificationToken Значение параметра или полностью пропустить шаг.

Если текущий HTTP-запрос уже содержит токен сеанса анти-XSRF (cookie анти-XSRF __RequestVerificationToken), из него извлекается токен безопасности. Если HTTP-запрос не содержит токен сеанса анти-XSRF или если извлечение токена безопасности завершается неудачно, будет создан новый случайный токен анти-XSRF.

Итак, ваш тест должен выглядеть так:

  • Открыть страницу входа (HTTP Get Request)

    • экстракт __RequestVerificationToken динамическое значение параметра с использованием подходящего JMeter PostProcessor, я бы порекомендовал перейти на CSS Selector Extractor, конфигурация будет выглядеть примерно так:

  • После этого вы можете сослаться на извлеченное значение как ${token} в следующем запросе

Ознакомьтесь с ASP.NET Login Testing с помощью статьи JMeter для получения более подробной информации и пошаговых инструкций, если это необходимо.

Другие вопросы по тегам