Искам да използвам името на тестовия скрипт 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);
не-GUI режим
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.