2013-12-18 5 views
0

У меня есть следующие настройки:JMeter - Установить динамическую переменную для контроллера Loop

| Thread Group 
| -- BeanShell PreProcessor 
| -- Loop Controller 

In The BeanShell препроцессор у меня есть:

vars.put("myDynamicNumber", someDynamicallyGeneratedNumber+""); 

В контроллере Loop у меня есть:

Loop Count: ${myDynamicNumber} 

У меня было впечатление, что это сработает. Вместо этого контроллер Loop не может найти переменную. Я что-то делаю неправильно?

+0

Похоже, я решил это, переключившись с BeanShell PreProcessor на BeanShell Sampler – user2992188

+0

... Также похоже, что любой компонент PreProcessor должен быть добавлен как CHILD к элементу управления, перед которым вы хотите выполнить обработку. –

ответ

1

Вам необходимо использовать Beanshell Sampler, а не Beanshell Pre-Processor.

Я не знаю, почему JMeter позволяет размещать Beanhell Pre-Processor на том же уровне, что и контроллер контура, он должен быть дочерним, например, HTTP-запросом.

Я также предлагаю немного изменить код, чтобы быть:

vars.put("myDynamicNumber", String.valueOf(someDynamicallyGeneratedNumber)); 

Что является более правильным с точки зрения Beanshell.

Смежные вопросы