JMeter: как использовать токен, сгенерированный во время выполнения в нескольких группах потоков - PullRequest
0 голосов
/ 30 сентября 2018

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

Как:

В первой группе потоков токены будут созданы для 100 пользователей.Во второй группе потоков 50 пользователей будут использовать токены.В третьей группе потоков следующие 50 пользователей будут использовать токены.

Запрос: 1. Как сохранить токены, сгенерированные во время выполнения?2. Как использовать первые 50 токенов во второй группе потоков, а остальные 50 - в третьей группе потоков?

Ответы [ 2 ]

0 голосов
/ 01 октября 2018

Вы можете передать значение между группами потоков, преобразовав его в свойство JMeter.Согласно документации:

Свойства не совпадают с переменными.Переменные являются локальными для потока; свойства являются общими для всех потоков , и на них нужно ссылаться с помощью функции __P или __property.

Так что если вам нужно перенести что-то из одной группы потоков в другую:

  1. Преобразовать значение в свойство JMeter с помощью функции __ setProperty () , например:

    ${__setProperty(foo,bar,)}
    
  2. После завершения значение можетбыть доступным usine __P () функция типа

    ${__P(foo,)}
    

Демо:

JMeter Property across thread groups

Если значение отличается для разных потоков - вы можете объединить описанный выше подход с функциями __ threadNum () или __ counter () , чтобы использовать текущий виртуальный номер пользователя или следующий увеличенный номерв качестве префикса или постфикса для функции.

0 голосов
/ 30 сентября 2018

Если вам нужно использовать токен, сгенерированный запросом в следующих запросах, тогда используйте 1 группу потоков, а не много.

Потоки в другой группе потоков абсолютно не связаны и рассматриваются как разные пользователи, поэтому, хотя выможет использовать такие элементы, как InterThreadCommunication , чтобы сделать это, просто НЕ делайте.

Если вы используете ту же группу потоков, то это просто вопрос использования правильного экстрактора для генерации переменных, а затем использовать их, используя$ {имяПерем}.

...