我想在侦听器中使用jmeter测试脚本(.jmx)的名称,以便以动态方式生成结果文件。你能否告诉我为此目的的Jmeter变量是什么?
使用的$ {fileName}无效
答案 0 :(得分:2)
包含测试计划名称的变量是${__TestPlanName}
参考:http://jmeter.apache.org/usermanual/functions.html#__TestPlanName
答案 1 :(得分:1)
您可以通过Beanshell scripting来完成,例如:
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}
变量中。
要了解有关JMeter中Beanshell脚本的更多信息,请查看How to use BeanShell: JMeter's favorite built-in component指南。
答案 2 :(得分:1)
无论GUI /非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 -
属性与变量不同。变量是a的本地变量 线;属性对于所有线程都是通用的,并且需要 使用__P或__property函数引用。