Тесты веб-производительности Visual Studio — OAuth 2.0

Я пытаюсь создать тесты веб-производительности для приложения, использующего Identity Server 3. Я не могу понять, как имитировать вход в систему и получить токен.

Например, я использую myapp.com, а сервер идентификации размещен на identity.com. Все мои конечные точки в myapp.com/api защищены и требуют токена носителя. identity.com может предоставить мне токен в обмен на имя пользователя и пароль. identity.com перенаправит меня на myapp.com/tokenRedirect?token=***. Как я могу поймать токен и использовать его в качестве заголовка авторизации для запросов API?

Есть несколько решений для JMeter, но не удалось найти их для тестов VS 2017.


person Colin    schedule 12.03.2018    source источник
comment
На ваш вопрос ответили? Если нет, пожалуйста, отредактируйте его, чтобы сделать его более понятным. Если на него ответили, прочитайте принятие ответов.   -  person AdrianHHH    schedule 02.03.2019


Ответы (1)


По умолчанию перенаправления обрабатываются автоматически в тесте, записанном Visual Studio, поэтому ответ перенаправления, содержащий токен, недоступен. Установка свойства FollowRedirects запроса на False позволяет получить доступ к ответу, содержащему перенаправление, с помощью обычных правил извлечения и/или плагинов и т. д. Один из них можно использовать для поиска значения токена и сохранения его в параметре контекста (CP). . Отключив автоматическую обработку перенаправления, следует добавить новый запрос (используйте команду Insert request, не используйте Add dependent request) и в нем должен быть запрос, который хочет перенаправление. Следовательно, его URL-адрес должен иметь форму myapp.com/tokenRedirect?token={{TheCPWithTheToken}}.

В более поздних запросах можно добавить CP с токеном с помощью команды Add header или изменить существующее поле заголовка для использования CP.

person AdrianHHH    schedule 04.04.2018
comment
Спасибо @AdrianHHH, у меня работает (тоже был аналогичный вопрос). - person KVN; 03.09.2019