Я хочу использовать имя тестового скрипта jmeter (.jmx) в слушателе, чтобы динамически генерировать файл результатов. Подскажите, пожалуйста, какая для этого используется переменная Jmeter?
Использовал $ {fileName}, который не работал
Я хочу использовать имя тестового скрипта jmeter (.jmx) в слушателе, чтобы динамически генерировать файл результатов. Подскажите, пожалуйста, какая для этого используется переменная Jmeter?
Использовал $ {fileName}, который не работал
Переменная, содержащая имя плана тестирования, ${__TestPlanName}
.
Ссылка: http://jmeter.apache.org/usermanual/functions.html#__TestPlanName а>
Вы можете сделать это с помощью сценариев Beanshell, например:
Режим GUI
import org.apache.jmeter.gui.GuiPackage;
String scriptName = GuiPackage.getInstance().getTestPlanFile();
vars.put("scriptName", scriptName);
режим без графического интерфейса
import org.apache.jmeter.services.FileServer;
String scriptName = FileServer.getFileServer().getScriptName();
vars.put("scriptName", scriptName);
Поместите фрагмент кода по вашему выбору в любой тестовый элемент «Beanshell» (сэмплер, предварительный / постпроцессор или утверждение), он получит имя тестового скрипта .jmx и сохранит его в переменной ${scriptName}
.
Чтобы узнать больше о сценариях Beanshell в JMeter, ознакомьтесь с Как использовать BeanShell: любимое приложение JMeter встроенный компонент руководство.
Ниже будет работать независимо от режима GUI / Non GUI:
import org.apache.jmeter.services.FileServer;
import java.io.File;
String testPlanFile = FileServer.getFileServer().getBaseDir() +
File.separator +
FileServer.getFileServer().getScriptName();
props.put("testPlanFile", testPlanFile);
Используйте это как $ {__ P (testPlanFile)} - добавление его как var не будет работать во всех потоках. Из http://jmeter.apache.org/usermanual/functions.html -
Свойства - это не то же самое, что переменные. Переменные являются локальными для потока; Свойства являются общими для всех потоков, и на них нужно ссылаться с помощью функции __P или __property.