Jmeter bean脚本获取当前时间不起作用

Jmeter beanscript get currentTime doesnt work

我是 Jmeter 的新手。创建 Jsr223 后处理器和 select 语言作为 Bsh。

import java.util.Date; 
import java.text.SimpleDateFormat;

long mill = System.currentTimeMillis();
log.info(mill);

输出:

 ERROR - jmeter.extractor.JSR223PostProcessor: Problem in JSR223 script JSR223 PostProcessor javax.script.ScriptException: Sourced file: inline evaluation of: ``import java.util.Date;  import java.text.SimpleDateFormat;  long mill = System.c . . . '' : Error in method invocation: Method info( long ) not found in class'org.apache.log.Logger' : at Line: 5 : in file: inline evaluation of: ``import java.util.Date;  import java.text.SimpleDateFormat;  long mill = System.c . . . '' : log .info ( mill ) 
 in inline evaluation of: ``import java.util.Date;  import java.text.SimpleDateFormat;  long mill = System.c . . . '' at line number 5
    at bsh.engine.BshScriptEngine.evalSource(BshScriptEngine.java:92)
    at bsh.engine.BshScriptEngine.eval(BshScriptEngine.java:46)
    at javax.script.AbstractScriptEngine.eval(Unknown Source)
    at org.apache.jmeter.util.JSR223TestElement.processFileOrScript(JSR223TestElement.java:206)
    at org.apache.jmeter.extractor.JSR223PostProcessor.process(JSR223PostProcessor.java:42)
    at org.apache.jmeter.threads.JMeterThread.runPostProcessors(JMeterThread.java:776)
    at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:489)
    at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:410)
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:241)
    at java.lang.Thread.run(Unknown Source)

请建议修复。谢谢!

首先,你知道__time() JMeter function哪个可以以不同的格式输出当前时间吗?


如果你仍然想在 Beanshell 中这样做,请注意你不能将 Long 值直接打印到 jmeter.log 文件,你需要转换首先使用以下方法之一将其转换为 String

  • log.info(String.valueOf(mill));
  • log.info(Long.toString(mill));
  • log.info("Current time is: " + mill);

您可以通过将您的代码放在 try block 中来获得 "good" Beanshell 错误,例如: