gpt4 book ai didi

java - JMeter : How to increment dates by +1 within date ranges for every iteration

转载 作者:行者123 更新时间:2023-11-30 07:06:36 24 4
gpt4 key购买 nike

我想在使用 Jmeter 的每次迭代中增加 1 天 2 个日期,即

  • 日期 1:2014/01/01(iteration1 = 2014/01/02),(iteration1 = 2014/01/03)等

  • 日期 2:2014/09/01(iteration1 = 2014/09/02),(iteration1 = 2014/01/03)等

我该怎么做?

最佳答案

对于 JMeter 的细节:

  1. 添加User Defined Variables设置初始日期值的元素,例如

    • DATE1=2014/01/01
    • DATE2=2014/09/01
  2. 添加 Beanshell PreProcessor作为您需要这些更新日期的请求的子项。把下面的代码放到PreProcessor的“Script”中是:

    import java.text.SimpleDateFormat; // necessary
    import java.util.Calendar; // imports
    import java.util.Date;

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); // define date format
    Date date1 = sdf.parse(vars.get("DATE1")); // get DATE1 from User Defined variables
    Date date2 = sdf.parse(vars.get("DATE2")); // get DATE2 from UDV

    Calendar cal = Calendar.getInstance(); // get Calendar instance
    cal.setTime(date1); // set Calendar's time to be DATE1
    cal.add(Calendar.DAY_OF_YEAR,1); // add 1 day to DATE1
    date1 = cal.getTime(); // set the new value for date1
    vars.put("DATE1",sdf.format(date1)); // update DATE1 JMeter variable

    cal.setTime(date2); // set Calendar time to DATE2
    cal.add(Calendar.DAY_OF_YEAR,1); // add 1 day
    date2 = cal.getTime(); // set the new value for date2
    vars.put("DATE2",sdf.format(date2)); // update DATE2 JMeter variable

    log.info("DATE1=" + vars.get("DATE1")); // print value of DATE1 to jmeter.log
    log.info("DATE2=" + vars.get("DATE2")); // print value of DATE2 to jmeter.log

执行 3 次后输出如下:

2014/08/30 10:11:13 INFO  - jmeter.util.BeanShellTestElement: DATE1=2014/01/02 
2014/08/30 10:11:13 INFO - jmeter.util.BeanShellTestElement: DATE2=2014/09/02
2014/08/30 10:11:13 INFO - jmeter.util.BeanShellTestElement: DATE1=2014/01/03
2014/08/30 10:11:13 INFO - jmeter.util.BeanShellTestElement: DATE2=2014/09/03
2014/08/30 10:11:13 INFO - jmeter.util.BeanShellTestElement: DATE1=2014/01/04
2014/08/30 10:11:13 INFO - jmeter.util.BeanShellTestElement: DATE2=2014/09/04
  1. 在需要时将变量称为 ${DATE1}${DATE2}

有关 Apache JMeter 中 Beanshell 脚本的更多信息,请查看 How to use BeanShell: JMeter's favorite built-in component指南

关于java - JMeter : How to increment dates by +1 within date ranges for every iteration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25569388/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com