Перейти к содержимому

Эффективное использование TestNG и JUnit
онлайн, начало 20 апреля
Логи как инструмент тестировщика
онлайн, начало 23 апреля
Тестирование производительности (HP Load Runner)
онлайн, начало 20 апреля
Управление требованиями
онлайн, начало 20 апреля
Фотография

Jmeter. Авторизация. Как и куда записать полученный токен?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 8

#1 VitaliySloupok

VitaliySloupok

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Шипицын Виталий

Отправлено 01 Октябрь 2015 - 10:11

Добрый день.

 

Начал заниматься нагрузочным тестированием и сразу столкнулся с такой ситуацией:

для прогона сценария нагрузки необходима авторизация пользователя. Все действия, которые должны быть после авторизации у меня отваливаются. (из-за того, что у меня не сохраняется и нигде не используется токен) Скриншот:

http://myscreenshot....51619079761.png

 

Вопрос: Как мне получить и куда записать токен, чтобы остальные запросы проходили и не отваливались?

 

Логика: 

Пользователь авторизируется с помощью эл.почты и пароля, затем ему присылается через request headers токен, и с помощью этого токена проходят остальные запросы.

 

Сценарий: 

- в запросе "/token" идет отправка пароля и эл.адреса методом POST. Скриншот:

http://myscreenshot....98714822127.png

 

результат сценария: 

http://myscreenshot....12322859564.png

 

Дальше, все действия, которые должны пройти для авторизованного пользователя выходят с ошибкой:

 http://myscreenshot....63349475488.png

 

 

Подскажите, пожалуйста, куда нужно записать этот токен и каким образом.

В консоли токен обозначается следующим образом: http://myscreenshot....14132815066.png

 

Буду благодарен за помощь.

 

После слов:

- читал, что нужно добавить HTTP Cookie manager, а также добавлять HTTP Authorization Manager. Но с этим не выходит (скорее всего сам что-то криво делаю)


  • 0

#2 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 813 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 03 Октябрь 2015 - 18:08

Да, как минимум надо добавить в сценарий HTTP Cookie Manager, это должно обеспечить передачу cookies в заголовке.

 

Если этого недостаточно -- нужно ещё добавить заполнение заголовка Authorization в HTTP Header Manager. Но сам он заполняться, конечно, не будет. Необходимо в узел, выполняющий запрос /token, добавить какой-нибудь экстрактор, который будет извлекать этот токен в переменную, а потом подставлять значение этой переменной в нужных местах.


  • 0

Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium


#3 VitaliySloupok

VitaliySloupok

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Шипицын Виталий

Отправлено 22 Октябрь 2015 - 13:54

Благодарю за помощь!

Сделал, как вы сказали. Добавил в узел /token Regular expression extractor http://myscreenshot....54724981723.png. Затем в узлы, где необходима проверка токена, добавил в HTTP Header Manager обращение к этому токену, и все запросы выходят без ошибок, все работает.

http://myscreenshot....03474782304.png

 

Но в данном случае мне пришлось в каждый узел в HTTP Header Manager добавить обращение к переменной ${token}.

Вопрос: Можно ли добавить общий HTTP Header Manager для всех запросов, чтобы не приходилось во всех запросах вбивать обращение к токену?


  • 0

#4 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 813 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 23 Октябрь 2015 - 11:32

Благодарю за помощь!

Сделал, как вы сказали. Добавил в узел /token Regular expression extractor http://myscreenshot....54724981723.png. Затем в узлы, где необходима проверка токена, добавил в HTTP Header Manager обращение к этому токену, и все запросы выходят без ошибок, все работает.

http://myscreenshot....03474782304.png

 

Но в данном случае мне пришлось в каждый узел в HTTP Header Manager добавить обращение к переменной ${token}.

Вопрос: Можно ли добавить общий HTTP Header Manager для всех запросов, чтобы не приходилось во всех запросах вбивать обращение к токену?

 

Да, можно сгруппировать несколько сэмплеров, и сделать им общий HTTP Header Manager, который будет добавлять заголовки всем вложенным в него сэмплерам. Вот пример:

 

Прикрепленный файл  23-10-2015 14-28-35.png   64,72К   31 Количество загрузок:Прикрепленный файл  23-10-2015 14-29-50.png   84,91К   24 Количество загрузок:


  • 0

Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium


#5 VitaliySloupok

VitaliySloupok

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Шипицын Виталий

Отправлено 24 Октябрь 2015 - 14:22

Да, все получилось. Спасибо огромное!


  • 0

#6 luarvik

luarvik

    Новый участник

  • Members
  • Pip
  • 10 сообщений
  • ФИО:Luarvik Luarvik

Отправлено 18 Апрель 2017 - 10:05

сделал всё в точности, как описано в треде, но Response data всё равно возвращает {"detail":"Authentication credentials were not provided."}

 

 

ниже скриншоты, постарался сделать как можно более подробно

 

View Results Tree

http://joxi.ru/ZrJ4n75CEGYl2j

 

HTTP Request по которому отправляется логин/пароль 

http://joxi.ru/v29Dw51Tev0dmG

 

Regular Expression Extractor

http://joxi.ru/EA41wDOteBJvrb

 

HTTP Header Manager

http://joxi.ru/n2YBE61cg8X0A6

 

 

помогите, пожалуйста, разобраться в возможных причинах 


  • 0

#7 MrFuka

MrFuka

    Новый участник

  • Members
  • Pip
  • 1 сообщений
  • ФИО:Aaa

Отправлено 29 Ноябрь 2017 - 12:53

Добрый день.

 

Как и автор, начал заниматься нагрузочным тестированием и столкнулся с ситуацией как и у автора топика.. но как не пробывал, решить не могу

 

Метод POST проходит

Метод GET не проходит

 

Причина: 401, no access token found

 

Скриншоты:

http://i.piccy.info/...1/1200750/1.jpg

http://i.piccy.info/...0/1200750/2.jpg

http://i.piccy.info/...9/1200750/3.jpg

http://i.piccy.info/...5/1200750/4.jpg

http://i.piccy.info/...3/1200750/5.jpg

http://i.piccy.info/...4/1200750/6.jpg

http://piccy.info/vi...0e7d97220e89f8/

http://i.piccy.info/...0/1200750/8.jpg

http://piccy.info/vi...a6bc40cbabc5d7/

 

 

Буду признателен за помощь.


  • 0

#8 Skaild

Skaild

    Новый участник

  • Members
  • Pip
  • 9 сообщений

Отправлено 14 Декабрь 2017 - 02:49

Я, конечно, не мегаспец - мне тут самому пару недель назад помогали, недоуменно глядя на мои попытки в jmeter. 

 

Но у меня была похожая схема. Победил следующим образом:

 

1. Делаю первый http запрос на получения токена. Ему в параметры пишем grant_type, username, password и scope. 

2. К нему цепляю HTTP Header Manager. В нем пишем только Content-Type.

3. К запросу на токен привязываем экстрактор. Сколько я не бился - регулярку победить не смог, поэтому вытягиваю токен JSON экстрактором:

Variable names: access_token

JSON Path expression: $.access_token

Все. В переменной access_token у нас лежит токен.

4. К последнему get-запросу прикручиваем Header Manager. Но в нем уже не пишем username/password/grant_type и вот это вот все. Пишем проще: 

Authorization: bearer ${access_token}

Content-Type: application/json

 

 

Попробуйте - у меня работает. 


  • 0

#9 alessenika

alessenika

    Новый участник

  • Members
  • Pip
  • 1 сообщений


Отправлено 11 Январь 2018 - 09:00

Добрый день!

 

У меня очень схожая ситуация с автором топика, но другая ошибка.

 

Начала заниматься нагрузочным тестированием (использую JMeter 3.3) и столкнулась с проблемой: при выполнении сценария необходима регистрация пользователя. При нажатии на кнопку login получаю ошибку Response code: 403 Response message: FORBIDDEN

 

скрин: https://drive.google...iew?usp=sharing

 

решение: Погуглив, поняла, что проблема с куками. Добавив HTTP Cookie Manager решить проблему не получилось. Скорее всего не верно делаю.

 

 

Возможно кто-то сталкивался с такой ошибкой. Буду благодарна за помощь!


  • 0


Тестирование производительности (JMeter)
онлайн, начало 18 мая
Тестирование удобства использования
онлайн, начало 25 апреля
Тестирование производительности (HP Load Runner)
онлайн, начало 20 апреля
Тестирование защищенности веб-приложений
онлайн, начало 18 мая



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале