обновление конфига набора данных jmeter для обновления в нем токенов другим потоком - PullRequest
0 голосов
/ 25 октября 2019

Изображение ошибки Jmeter Изображение ошибки JTL

Мой вызов API принимает токен, действительный в течение 4 минут. В файле конфигурации набора данных CSV у нас есть записи с токенами, размещенными в каждой строке для каждого пользователя. Я провожу этот тест в течение 20 минут. Я запускаю JMeter в режиме CLI и запускаю другой поток, чтобы обновлять его каждые 2 минуты. Поток использует пользовательскую библиотеку для создания токенов.

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

Как я знаю, это вызванопоток:

  1. Эта ошибка появляется после того, как поток обновляет файл. до этого все работает нормально.

  2. У моего CSV есть параметры server, portNumber, userId, username, password, teamspaceID, Token

и вСценарий JMeter, использующий URL-адрес, например "Http://${server}:${portNumber}", но в файле .jtl немногие из записей содержат" Http: // некоторая часть строки токена: 8082 "

. Есть ли другой эффективный способ решения этой проблемы * 1028? *

1 Ответ

0 голосов
/ 28 октября 2019

Это классическое состояние гонки , Конфигурация набора данных CSV от JMeter не ожидает, что файл может измениться во время выполнения, трудно найти точное решение, не видя свой план тестирования, однако выМожно рассмотреть следующие альтернативы:

  1. Генерация токена непосредственно перед запросом с использованием JSR223 PreProcessor , по умолчанию время, необходимое PreProcessors, не включается в истекшее время Sampler, поэтому вы получитетолько время выполнения HTTP-запроса в файле результатов
  2. Размещение логики, которая не является поточно-ориентированной, под Контроллер критической секции
  3. Использование Плагин межпотоковой связи вместо временного файла CSV для хранения / передачи токенов
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...