我的线程组由30个用户组成。我想在一个月的每个日期运行每个用户。假设,user1请求日期为1月1日,user2请求1月2日并继续。这样,我将覆盖一个月的所有日期。为此,我如何设计我的测试计划,以及如何编写日期函数,以便在每次请求后日期将自动增加?
9q78igpj1#
我相信你正在寻找一个步进线程组,这是位于线程组类别。它允许增加线程数、上升和下降周期(在您的情况下,不要使用上升周期,因为它没有多大意义)等。接下来需要做的是定义${__P(date)}属性,并以SimpleDateFormat函数可接受的格式传递日期。该函数将以您指定的格式返回日期,例如:${__P(date)} -> 2019-01-01 ${__P(date)} -> 2019-01-02 ...从上面的例子中可以看出,__P()函数非常灵活,它可以用来存储日期、URL、用户名、密码等。
${__P(date)}
SimpleDateFormat
${__P(date)} -> 2019-01-01 ${__P(date)} -> 2019-01-02 ...
__P()
kyxcudwk2#
您可以使用__groovy()函数,如下所示:
${__groovy(new Date().plus(ctx.getThreadNum() + 1).format('MMMM d'),)}
演示:
有关JMeter中的Groovy脚本的更多信息:Apache Groovy: What Is Groovy Used For?
2条答案
按热度按时间9q78igpj1#
我相信你正在寻找一个步进线程组,这是位于线程组类别。
它允许增加线程数、上升和下降周期(在您的情况下,不要使用上升周期,因为它没有多大意义)等。
接下来需要做的是定义
${__P(date)}
属性,并以SimpleDateFormat
函数可接受的格式传递日期。该函数将以您指定的格式返回日期,例如:${__P(date)} -> 2019-01-01 ${__P(date)} -> 2019-01-02 ...
从上面的例子中可以看出,__P()
函数非常灵活,它可以用来存储日期、URL、用户名、密码等。kyxcudwk2#
您可以使用__groovy()函数,如下所示:
演示:
有关JMeter中的Groovy脚本的更多信息:Apache Groovy: What Is Groovy Used For?