JMeter JSR223 预处理器 - 我的随机日期和当前日期变成了 1970 年的日期

JMeter JSR223 PreProcessor - My random and current date turns itself into something in the year of 1970

我正在尝试使用 JSR223 在两个限制日期内创建随机日期。这是我的代码:

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



SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");



String formattedDate = df.format(${__RandomDate(,2021-10-20,2021-11-20,,)});
vars.put("myFutureDate",formattedDate);"

但是当我格式化日期并将其放入名为 myFutureDate 的变量中时,日期变为 01/01/1970。你能帮我吗?

不要将 JMeter Functions or Variables 内联到 Groovy 脚本中,因为:

  1. 它们与 Groovy GStrings
  2. 冲突
  3. 它们可能会导致编译失败或运行时意外行为
  4. 它们已被编译和缓存,因此只会使用第一次出现,您的 ${myFutureDate} 变量对于所有迭代都是相同的

所以

  1. 将您的 __RandomDate() 函数放入 JSR223 测试元素的“参数”部分

  2. 使用以下代码重新格式化随机日期:

    vars.put('myFutureDate', Date.parse('yyyy-mm-dd', Parameters).format('dd/MM/yyyy'))
    

更多信息: