Как получить запросы в группе потоков, где набор запросов имеет одно и то же поле данных (которое отличается от других наборов)? - PullRequest
0 голосов
/ 14 апреля 2020

У меня есть две отдельные группы потоков в jmeter,

Первая группа потоков : все пользователи, соответствующие первой группе потоков, несут ответственность за попадание в API, который создает пользователя и возвращает userId в ответ

Вторая группа потоков : все пользователи, соответствующие второй группе потоков, несут ответственность за использование API, который загружает фотографию для созданных пользователей и использует userId (возвращенный в предыдущем ответе) в качестве данных запроса .

Я использовал плагин InterThreadCommunication для jmeter, и поэтому userID из ответа на попадание API первой группы потоков отображается на запрос данных о попаданиях API второй группы потоков.

Проблема заключается в том, что в Группа потоков 2, мне нужно запустить загрузку изображения пользователя 5 раз (чтобы иметь набор изображений, соответствующих каждому пользователю). Как расширить функциональность InterThreadCommunication для сопоставления одного идентификатора пользователя из threadGroup1 с 5 запросами threadGroup2 (и аналогично другому идентификатору пользователя с другими 5 запросами)

Текущая реализация:

Группа потоков 1:

jp@gc - Постпроцессор связи между потоками:

Имя очереди FIFO для помещения данных в: userIdList

valueToPut: $ userId

Группа потоков 2:

jp@gc - препроцессор связи между потоками

Очередь FIFO Имя для получения данных: userIdList

имя переменной для хранения данных: userId

Данные запроса группы потоков 2 , Я использую значение как $ userId

1 Ответ

1 голос
/ 15 апреля 2020

Просто получите его один раз, используя Once Only Controller , и выполните запрос 5 раз, используя L oop Controller

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

  1. Использовать __ setProperty () и __ threadNum () комбинация функций для сохранения значения в 1-й группе потоков, например:

    ${__setProperty(userid_${__threadNum}, YOUR_VALUE_HERE,)}
    
  2. Использование комбинаций функций __ P () и __threadNum () для чтения значения во 2-й группе резьбы, например:

     ${__P(userid_${__threadNum},)}
    

    enter image description here

Проверка Apache Функции JMeter - введение статья для получения дополнительной информации о концепции функций JMeter.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...