是否有办法使__timeShift仅选择一周中的某些天?

问题描述 投票:0回答:1

JMeter脚本中当前使用的函数是

${__timeShift(dd/MM/yyyy,${__time(dd/MM/yyyy)},-P31D,,)} 

指定31天前的审查日期。

我现在了解到,该项目要求审查日期必须始终在星期一。有什么方法可以确保执行timeShift仅选择一个星期一?

jmeter performance-testing
1个回答
0
投票

[恐怕__timeShift()函数不够灵活,您可以考虑改用__groovy()函数并实现以下算法:

  1. 获取当前日期
  2. 减去31天
  3. 如果星期几是星期一,请返回过去的日期
  4. 否则要增加1天,直到过去的日期成为星期一为止>>
  5. 示例功能代码:

${__groovy(def now = new Date(); def monthAgo = now.minus(31); while (monthAgo[Calendar.DAY_OF_WEEK] != Calendar.MONDAY) { monthAgo = monthAgo.plus(1)}; return monthAgo.format('dd/MM/yyyy'),)}

演示:

enter image description here

更多信息:Apache Groovy - Why and How You Should Use It

© www.soinside.com 2019 - 2024. All rights reserved.