Use variable within JMeter $__timeshift
我有一个变量,该变量的日期格式为yyyy-MM-dd'T'hh:mm:ss'Z'
我正在尝试使用时移从该日期起减去1天-$ {date_var}
我尝试了以下操作,但是它似乎并没有使用$ {date_var},而是从当前日期/时间返回了负1天的日期。
$ {__ timeShift(yyyy-MM-dd'T'hh:mm:ss'Z',$ {date_var},-P1D ,, newdate)}
有什么想法如何在时移中输入变量?
谢谢
您的方法绝对正确:
如果没有得到相同的输出,则可能有两种可能性:
如果是这种情况,您的${date_var}变量值与yyyy-MM-dd'T'hh:mm:ss'Z' SimpleDateFormat模式不匹配-相关错误将发布到jmeter.log文件中
如果您使用函数助手对话框进行测试,请注意由于JMeter变量位于线程(虚拟用户)上下文中,因此它无法解析任何JMeter变量,因此您只能在此处使用JMeter属性
- 谢谢。不确定它是否对您有用?如果您重新运行该日期,但将$ {date_var}设置为除今天日期以外的其他日期,或者将其设置为与运行日期不同的日期,则可能会更清楚。我说这是因为您的秒数已耗尽。
-
好吧,它看起来像是应该通过JMeter Bugzilla报告的功能中的错误。同时,您可以使用假定__groovy()函数的替代解决方案:${__groovy(vars.put('newdate'\\, new Date().parse('yyyy-MM-dd\\'T\\'hh:mm:ss\\'Z\\''\\, vars.get('date_var')).minus(1).format('yyyy-MM-dd\\'T\\'hh:mm:??ss\\'Z\\'')),)} t