В Jmeter диспетчер заголовков не добавляет токен авторизации jwt для тестирования Spring boot Rest API.

Я извлек токен JWT из Rest API контроллера входа в систему (конечные точки взяты из swagger), и мой план тестирования выглядит следующим образом

план тестирования

TEstplan.

Как вы можете видеть на изображениях в запросе на вход, он принимает заголовок Breakdown Configuration и не принимает значение токена авторизации, передаваемое как объект JSON в Bearer $ {token}, хотя я извлек его в экстракторе JSON, и сэмплер отладки показывает это .

Я также использовал единственный контроллер, но это не решает проблему. Пожалуйста, помогите во вложенном Менеджере заголовков и как его правильно использовать. Даже я использовал процессор Bean Shell в своем запросе GETALL Bd-config и передал команду:

import org.apache.jmeter.protocol.http.control.Header;

sampler.getHeaderManager().add(new Header("Authorization","Bearer " + vars.get("token"))); 

Но это не решает проблему. Пожалуйста, направляйте. Срок действия моего токена jwt составляет 1 час


person coder_m    schedule 30.11.2019    source источник
comment
не могли бы вы показать тело запроса   -  person Adnan    schedule 01.12.2019


Ответы (1)


Ваша тестовая конфигурация неверна, постпроцессоры подчиняются JMeter Scoping Rules, поэтому ваш Extract token постпроцессор последовательно применяется к :

  1. Авторизоваться
  2. Debug Sampler - (ка-бум, здесь токен заменяется пустым значением)
  3. GetAll bd-config

Решение будет помещать эти Extract id и Extract token как дочерние элементы запроса Login.

введите здесь описание изображения

Таким образом, токен и идентификатор будут извлечены из Login и останутся до следующей итерации, не перезаписанной Debug Sampler.

person Dmitri T    schedule 02.12.2019