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

Фотография

Разобраться с токеном

jmeter token authorization

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

#1 Skaild

Skaild

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

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

Отправлено 13 ноября 2017 - 09:43

Добрый день,

 

дали задание на работе: начать использовать jmeter. Впервые я его открыл, грубо говоря, два дня назад. 

 

Задание: Нужно чтобы jmeter пошел на тестовый сайт, авторизировался с логином и паролем, получил токен, затем, используя этот токен, на том же сайте вытащить любой список продукции. И, соответственно, посмотреть, на каком количестве таких запросов все поломается. 

 

Отправлял post запрос в postman'e - все пожалуйста, вот логин, вот пароль, вот токен. Передаю в jmeter те же параметры - приходит ответ, мол, вот он ваш запрос с такими вот параметрами, ответа никакого. Но рисует, что тест прошел успешно. При попытке продвинуться куда-то дальше по сайту выдает ошибку 401 Unauthorized. 

 

Мне уж не до хорошего, подскажите, как можно воткнуть в jmeter уже имеющийся на руках токен из postman, чтобы попробовать с ним пройти. Или ткните, где читать. Перерыл интернета уже тонну - ничего подходящего не нашел. Все туториалы представляют из себя часовой очень подробный рассказ, как скачать jmeter, как сделать тест, в котором заходишь на yandex, а потом автор говорит что-то в духе "Ну, основы вы теперь знаете, дерзайте дальше сами". 


  • 1

#2 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 13 ноября 2017 - 13:40

Рекордером запишите вход на сайт.

Потом надо разобраться как из ответа извлечь нечто в переменную (postprocessor, extractor)

И как параметризовать запрос переменной.


  • 0

#3 Skaild

Skaild

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

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

Отправлено 14 ноября 2017 - 02:37

Рекордером запишите вход на сайт.

Потом надо разобраться как из ответа извлечь нечто в переменную (postprocessor, extractor)

И как параметризовать запрос 

Самый сенокос в том, что там по факту нет страницы логинки. То есть есть домен, есть база данных. Если пользователь добавлен в базу - он входит на страницу автоматически. Если нет - выдается ошибка, что у вас нет прав, чтобы на эту страницу войти. 

url, на которую идет запрос из postman не имеет веб интерфейса, просто зайти на нее нельзя.

 

Я, может, сумбурно как-то объясняю - никогда раньше просто с этим не сталкивался. 


  • 0

#4 baxatob

baxatob

    Опытный участник

  • Members
  • PipPipPipPip
  • 258 сообщений
  • ФИО:Юрий
  • Город:Riga

Отправлено 14 ноября 2017 - 06:42

У вас по видимому Windows Authentication идет поверх. Разберитесь сначала, какая схема аутентификации используется (NTLM, Kerberos...?). 


  • 0

#5 Skaild

Skaild

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

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

Отправлено 16 ноября 2017 - 02:49

У вас по видимому Windows Authentication идет поверх. Разберитесь сначала, какая схема аутентификации используется (NTLM, Kerberos...?). 

Если пробовать записать сценарий входа на сайт (то есть просто открыть сайт), то jmeter добавляет Authorization Manager, где указывает тип: Kerberos. 


  • 0

#6 baxatob

baxatob

    Опытный участник

  • Members
  • PipPipPipPip
  • 258 сообщений
  • ФИО:Юрий
  • Город:Riga

Отправлено 16 ноября 2017 - 07:36

Ну вот. Осталось настроить: http://jmeter.apache...ization_Manager

 

А еще лучше вообще отключить эту авторизацию на время тестов.


  • 0

#7 Skaild

Skaild

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

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

Отправлено 17 ноября 2017 - 03:20

Окей, настроил. Теперь первым запросом jmeter идет авторизируется и забирает токен. А дальше пытаюсь вытащить его с помощью Regular Expression Extractor примерно таким вот образом: 

 

Reference name: token

Regular Expression: "access_token"."(.*)"

Template: $1$

Match No. (0 for Random): 

Default Value: token_not_found

 

Debug Sampler показывает что токен он нашел и token теперь, собственно, равен значению токена. 

Дальше в следующем HTTP Request'e добавляю к реквесту Header Manager, в котором пишуЖ

Name: Authorization   Value: ${token}

 

Запускаю тест и получаю ошибку 401. Почему он не хочет с регулярки токен подхватывать?


  • 0

#8 Skaild

Skaild

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

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

Отправлено 17 ноября 2017 - 05:40

Решил с помощью отказа от Regular Expression Extractor в пользу JSON Extractor

 

Спасибо за помощь


  • 1



Темы с аналогичным тегами jmeter, token, authorization

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

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