JMeter时移

JMeter时移,jmeter,Jmeter,我需要JMeter在1天内模拟28天的活动(通过改变时间戳)。有一个时间函数,但它看起来不支持当前时间以外的任何东西。我也不想伪造日期,因为像闰年和闰月之类的事情会使日期不正确 那么,我怎样才能得到一个时间格式作为当前时间的增量(从历元开始以毫秒为单位),和/或运行一天负载测试的最佳方式是什么,就好像时间快了28倍一样 更新: 谢谢你!我可以根据需要修改您的答案(我必须限制事件发生在上午8点到下午5点之间的时间) 对于那些需要它的人,我在JSR223预处理器中使用了以下代码 timestamp

我需要JMeter在1天内模拟28天的活动(通过改变时间戳)。有一个时间函数,但它看起来不支持当前时间以外的任何东西。我也不想伪造日期,因为像闰年和闰月之类的事情会使日期不正确

那么,我怎样才能得到一个时间格式作为当前时间的增量(从历元开始以毫秒为单位),和/或运行一天负载测试的最佳方式是什么,就好像时间快了28倍一样

更新: 谢谢你!我可以根据需要修改您的答案(我必须限制事件发生在上午8点到下午5点之间的时间)

对于那些需要它的人,我在JSR223预处理器中使用了以下代码

timestamp=新日期();
timestamp.setDate(timestamp.getDate()-Math.floor(Math.random()*(28));
时间戳设置小时数(8,0,0,0);
timestamp.setTime(timestamp.getTime()+Math.floor(Math.random()*(1000*60*60*9));

put(“TIMESTAMP”,TIMESTAMP.toISOString())您可以使用以下函数和组合来模拟此操作:

  • 现在:
    ${{时间(,)}
    -我想你已经知道了
  • 现在+28天:
    ${{{uuuuu longSum(${uuuu time(,)},2419200000,)}
    -其中2419200000是

    1000 * 60 * 60 * 24 * 28 
     ^     ^    ^    ^     ^
     ms   sec  min  hour  day
    
如果Unix时间戳由于某种原因无法为您的应用程序播放,您可以使用_javaScript()函数将其转换为人类可读的格式,如:

${__javaScript(new Date(${__longSum(${__time(,)},2419200000,)}),)}
演示:

参考资料: