Подтвердить что ты не робот

Jmeter передает переменные командной строки в jmx

Я пытаюсь автоматизировать некоторые перфекционные тесты. Я хотел бы передать серверы в общий jmx из задания Jenkins. Я хотел бы иметь возможность сделать что-то вроде:

jmeter -n -t foo.jmx -JtestingIP = IP

и запустите foo.jmx testingIP.

Каков правильный способ сделать это? Когда я запускаю эту команду jmeter, она говорит, что переменная была сохранена, но вставка в ${testingIP} или ${\_\_P(testingIP,)} в jmx приводит к тому, что ${testingIP} или ${\_\_P(testingIP,)} интерпретируется как просто строка.

Что я делаю неправильно/вообще не делаю? Возможно ли это?

4b9b3361

Ответ 1

Все, что вам нужно сделать, - запустить JMeter из командной строки (или оболочки) с помощью параметра -J. Например:

-JTestIP = 10.0.0.1

И в вашем script, чтобы получить значение, просто используйте функцию _P:

Пример:

${__P(TestIP)}

Это должно сделать это.

Обратите внимание, что вы должны поместить значение по умолчанию, если вы запустите script, не передав это свойство JMeter, например:

${__ Р (TestIP, 1.1.1.1)}

Ответ 2

Взгляните на эту ссылку http://mkbansal.wordpress.com/2012/08/01/jmeter-command-line-script-execution-with-arguments/. Также я попытался бы указать значение по умолчанию, например ${__P(testingFromCommandLineIP,defaultIP)} где testingFromCommandLineIP - аргумент, который вы указываете при запуске плана тестирования из командной строки, defaultIP - значение по умолчанию

Ответ 3

  1. Откройте файл Jmeter (jmx) в графическом интерфейсе Jmeter и добавьте параметры в качестве этого снимка экрана:

enter image description here Нажмите на кнопку Сохранить.

  1. Теперь запустите команду с этими параметрами, например:

    jmeter -t TestPlan.jmx -Jthreads=10 -Jcount=50 -Jrumpup=5