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 для получения более подробной информации и пошаговых инструкций, если это необходимо.