Нагрузочный тест — препроцессор Jmeter

#jmeter

Вопрос:

У меня есть препроцессор, который создает случайный uuid и случайную строку, как показано ниже

 import java.util.UUID;
import org.apache.commons.lang3.RandomStringUtils;

String testId1=UUID.randomUUID().toString();
String testId2=RandomStringUtils.randomAlphanumeric(10);

vars.putObject("testId1",testId1);
vars.putObject("testId2",testId2);
 

план тестирования создается, как показано ниже
введите описание изображения здесь
Аномалия post использует вышеуказанные идентификаторы в полезной нагрузке. В первый раз, когда запускается скрипт, testId1 и testId2 в запросе поступают как ${testId1} и ${testId2}

когда я запускаю этот тест для нескольких образцов в графическом интерфейсе, я вижу, что эти переменные генерируются. Я запускаю этот тест в распределенном режиме и обнаружил, что с одного сервера генерируются testId1 и testId2, но не с другого.(Без графического интерфейса) в чем здесь может быть проблема?

Комментарии:

1. С вашим кодом нет никаких проблем. Можешь попробовать с vars.put("testId1",testId1); vars.put("testId2",testId2); помощью . Вы тоже определили эти переменные где-нибудь в элезе?

2. Нет, я не использовал эту переменную в других местах .

Ответ №1:

Если есть «проблема» на «другом сервере», вы найдете причину в jmeter-server.log файле на этом сервере. Обычно JMeter печатает достаточное количество информации об устранении неполадок в свой файл журнала, это чрезвычайно полезно, особенно когда препроцессор JSR223 где-то каким-то образом выходит из строя.

Детализация журнала может быть увеличена как для отдельных компонентов, так и для всего приложения JMeter. Более подробную информацию см. в статье «Как настроить ведение журнала JMeter«.


Помните, что вам следует избегать сценариев и по возможности придерживаться встроенных тестовых элементов JMeter. В вашем случае вы можете генерировать обе переменные с помощью функций __UUID() и __randomString ().