Разница между сэмплером JSR223 и препроцессором JSR223 - PullRequest
2 голосов
/ 18 января 2020

Я новичок в Jmeter и энергично учусь.

Я хотел бы узнать, чем отличаются сэмплер JSR223 и препроцессор JSR223, можно ли использовать сэмплер так же, как препроцессор?

Ответы [ 2 ]

3 голосов
/ 19 января 2020

Общее отличие состоит в том, что PreProcessor не будет выполняться, если в его области действия не будет сэмплера, который будет запущен (на сэмплер)

Элемент Pre-Processor равен определяется для изменения настроек сэмплеров в их области. Он всегда будет выполняться до фактического запроса сэмплера.

Специфика c Разница в том, что JSR223 PreProcessor не имеет SampleResult доступного, поэтому, например, вы не можете выполните следующий пример:

SampleResult.setStopTest(true);

* ResponseData SampleResult устанавливается из возвращаемого значения сценария. Если скрипт возвращает null, он может установить ответ напрямую, используя метод SampleResult.setResponseData(data), где data - это либо String, либо байтовый массив. Тип данных по умолчанию - «текст», но его можно установить в двоичный формат, используя метод SampleResult.setDataType(SampleResult.BINARY).

. Переменная SampleResult предоставляет сценарию полный доступ ко всем полям и методам в SampleResult. Например, скрипт имеет доступ к методам setStopThread(boolean) и setStopTest(boolean).

1 голос
/ 20 января 2020

JSR223 Sampler - это Sampler , поэтому он сгенерирует SampleResult , который появится в результатах теста (если вы не вызовете SampleResult.setIgnore () метод )

JSR223 PreProcessor не может быть выполнен как таковой, вам нужно подключить его к одному (или нескольким) семплерам в соответствии с JMeter Scoping Rules , чтобы он выполнялся перед одним (или многими) семплерами , Время выполнения PreProcessors не отражается в результатах теста (если вы не используете Transaction Controller , настроенный на его включение)

Оба могут запускать произвольный код (рекомендуется придерживаться Groovy), поэтому, какой из них использовать, в основном зависит от вашего варианта использования, если вам нужно провести нагрузку и измерить время - go для сэмплера, если вам нужно настроить некоторые данные - go для препроцессора и т. д. c.

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