当启动Jmeter时,我看到一些证据表明Jmeter可能正在设置一些名为' base'和' testFilesDirectory' 。有没有人有使用这些变量的经验并且可以访问吗?
jmeter.services.FileServer: Default base='C:\Users\x\ws\test\target\jmeter\bin'
jmeter.gui.action.Load: Loading file: C:\Users\x\ws\test\src\test\jmeter\Tests.jmx
jmeter.services.FileServer: Set new base='C:\Users\x\ws\test\src\test\jmeter'
而且:
[DEBUG] (f) propertiesReplacedByCustomFiles = true
[DEBUG] (f) resultsFileFormat = xml
[DEBUG] (f) skipTests = false
[DEBUG] (f) suppressJMeterOutput = true
[DEBUG] (f) testFilesDirectory = C:\Users\x\ws\test\src\test\jmeter
[DEBUG] (f) testResultsTimestamp = true
[DEBUG] (f) workDir = C:\Users\x\ws\test\target\jmeter
[DEBUG] -- end configuration --
答案 0 :(得分:1)
您可以按如下方式访问这些变量using Beanshell:
JMeter的基础目录
import org.apache.jmeter.services.FileServer;
String baseDir = FileServer.getFileServer().getBaseDir();
vars.put("baseDir", baseDir);
JMeter的脚本位置(GUI模式)
import org.apache.jmeter.gui.GuiPackage;
String testPlanFile = GuiPackage.getInstance().getTestPlanFile();
vars.put("testPlanFile", testPlanFile);
JMeter的脚本名称(非GUI模式)
import org.apache.jmeter.services.FileServer;
String scriptName = FileServer.getFileServer().getScriptName();
vars.put("scriptName", scriptName);
如果您愿意,可以使用__Beanshell()函数
获得相同的效果${__BeanShell(import org.apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir())}
它将返回调用它的当前基目录。