在JMeter中,我有一个变量,
current_time = ${__time()}
在用户定义的变量中。
我的目标是通过HTTP请求传递比当前时间晚24小时的时间。
我可以使用
切断当前时间的毫秒数current_epoch_time = ${__groovy(vars.get("current_time").substring(0\,10))}
然而,我遇到了(1)试图转换" current_epoch_time"到一个整数和(2)从它减去24小时。
我仍然非常喜欢使用JMeter和新手一般使用groovy。
答案 0 :(得分:0)
如果你已经在使用groovy(或任何其他编程语言),你不需要变量或${__time()}
函数,你可以
${__groovy(System.currentTimeMillis()-24*60*60*1000)}
或
${__groovy(System.currentTimeMillis()-8400000)}
如果您想要更具体,可以使用System.nanoTime()
使用变量的唯一原因是,如果您希望所有使用它的地方的值都相同,那么您可以将其添加到用户定义的变量中
Name: yourname
Value `${__groovy(System.currentTimeMillis()-8400000)}`
然后将其用作${yourname}
。
如果你仍想在脚本中减去它,那么这应该有效:
${__groovy(try {Long.parseLong(vars.get("current_time"))-8400000} catch(Exception e){})}
答案 1 :(得分:0)
由于JMeter version 3.3您具有__timeShift()功能,允许在当前或特定日期添加/减少任意数量的时间段。
因此,如果您需要从当前时间戳减去24小时,则相关的__timeShift()函数配置将类似于:
${__timeShift(,,-P1D,,)}