需要If Expression来比较Jmeter中的时间和日期

Need If Expression to compare time and date in Jmeter

我有一个要求,我需要比较两个日期和时间, 我正在测试几个 REST APIs,其中日期在 8:00 AM 之后动态变化,例如基本上我的应用程序提供 1 天的数据: 如果 UTC 时间不是上午 8 点,我的应用程序将显示过去一天的数据 “获取 2021-11-28T8:00:00 至 2021-11-29T8:00:00 期间的资产数据” 但是当当前日期的 UTC 时间超过上午 8 点时 API 日期将动态更改为第二天 “获取 2021-11-29T8:00:00 到 2021-11-30T8:00:00 期间的资产数据”

我打算 运行 浸泡测试 48 小时,如果有人可以提供比较的陈述,我可以使用 timeshift 函数来设置 APIs 时间仍然不是上午 8 点 ${__timeshift(YYYY-MM-dd,-P1D))T08:00:00 和 ${__timeshift(YYYY-MM-dd,P1D)) 在 8 之后上午.

谢谢,

我认为您需要 __groovy() function and Calendar class,例如:

  • 如果当前 UTC 时间晚于 8

    ,将执行
    ${__groovy(Calendar.getInstance(TimeZone.getTimeZone('UTC')).get(Calendar.HOUR_OF_DAY) > 8,)}
    
  • 如果当前 UTC 时间早于 8

    ,将执行
    ${__groovy(Calendar.getInstance(TimeZone.getTimeZone('UTC')).get(Calendar.HOUR_OF_DAY) < 8,)}
    

应该能帮到你。

更多信息:6 Tips for JMeter If Controller Usage