#jmeter #jsr223
#jmeter #jsr223
Вопрос:
Я использую предварительный процессор JSR223 для генерации UUID в заголовке http. Значение будет обновлено в файле журнала с отметкой времени для целей отслеживания.
Я добавил предварительный процессор в каждый вызов, поэтому каждый раз он генерирует уникальное значение и обновляет файл журнала. Пожалуйста, взгляните на приведенный ниже код.
import org.apache.jmeter.services.FileServer;
import java.sql.Timestamp;
import java.util.UUID;
String uuid = UUID.randomUUID().toString();
vars.put("p_x_transaction_id",uuid);
uid= vars.get("p_x_transaction_id");
String Logfile=vars.get("p_logfile");
f = new FileOutputStream(Logfile,true);
p = new PrintStream(f);
this.interpreter.setOut(p);
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
p.println(timestamp " - " uid);
Возможно ли поместить приведенный выше код в сэмплер JSR223 и напрямую вызвать метод в заголовке?
Я пробовал, но он генерирует уникальное значение только для каждой итерации.
Пожалуйста, пролейте некоторый свет на это.
Ответ №1:
Нет необходимости копировать и вставлять препроцессор JSR223 и добавлять его к каждому вызову, препроцессор JSR223 подчиняется правилам определения области видимости JMeter, поэтому, если вы разместите его на том же уровне, что и все ваши сэмплеры — он будет применен ко всем сэмплерам
Как вы можете видеть, у меня есть только один экземпляр предварительного процессора JSR223, и он был выполнен 3 раза (перед каждым сэмплером в своей области)
Комментарии:
1. БОЖЕ, я думал сложным образом .. Дмитрий, ты только что дал простое решение. Спасибо..