Getting/using CMD 的输出 window Jmeter

Getting/using output of CMD window of Jmeter

I,m 运行 来自 jmeter 中 BeanShell Sampler 的 Java 文件,我在 jmeter 的 cmd windows 中成功输出。输出由一系列记录器文件组成,我只需要从 cmd window 中提取指定的字符串并将其用于另一个示例

给定你 运行 你的程序使用 ProcessBuilder you should be able to access its output via Process.getInputStream() 方法

Process process = new ProcessBuilder('c:\apps\jmeter\bin\jmeter.bat', '-v').start()
String output = org.apache.commons.io.IOUtils.toString(process.getInputStream(),'UTF-8')
log.info('My program output is:')
log.info(output)

此外,我建议考虑切换到 JSR223 Sampler and Groovy language,因为这样会更快更容易:

def output = "jmeter.bat -v".execute().text
log.info('My program output is:')
log.info(output)

演示:

这个 java bean shell 命令通过 j meter 输出控制台,标准输出要写入文件

System.setOut(new PrintStream(new BufferedOutputStream(new FileOutputStream("D:\dir1\dir2\abc.out")),true));

确保你的文件路径应该有双反斜杠