使用 beanshell 预处理器将日期存储在 Jemeter 变量中时遇到错误

Facing error while storing date in a Jemeter variable using beanshell preprocessor

我是 Jmeter 的新手,我正面临这个问题。 some_date 的日期类似于

2022-06-5T10:10:10.12345 

拆分后,
final_date只有

2022-06-5
String a = vars.get("some_date");
String b = a.split("T");
log.info(b[0]);
final_date = b[0];
vars.putObject("final_sending_date",final_date);
log.info(final_sending_date);

我在使用 vars.putObject

时遇到错误
javax.script.ScritException: groovy.lang.MissingPropertyException : No such property :
final_sending_date for class : Script

您的脚本有几个问题:

  1. String.split() 函数 returns 一个 数组 的字符串,因此您需要将第二行更改为:

    String [] b = a.split("T");
    
  2. final_sending_date 对象没有在任何地方声明,很可能你的意思是这样的:

    log.info(vars.getObject("final_sending_date"));
    
  3. Since JMeter 3.1 it's recommended to use JSR223 Test Elements and Groovy language for scripting 以获得最佳性能,因此请考虑迁移,相同的代码无需更改 Groovy

    即可正常工作

完整代码以防万一:

String a = vars.get("some_date");
String [] b = a.split("T");
log.info(b[0]);
final_date = b[0];
vars.putObject("final_sending_date",final_date);
log.info(vars.getObject("final_sending_date"));