使用 Jmeter 的多个 POST 请求

Multiple POST requests using Jmeter

我必须对我的应用程序进行压力测试才能创建 1000 个用户。为了创建一个用户,我使用 json:

做了一个 POST 请求
{
 "code": "string",
 "domainName": "string",
 "enabled": true,
 "name": "string"
}

我不知道如何使用 jmeter 创建多个用户。有for循环吗?另外,我该如何解决代码必须是唯一的这一事实,这样每个用户都需要一个唯一的代码?

是的,有一个循环控制器,您可以在该循环中从 CSV 加载数据 - 看看 this Whosebug answer

尽管使用循环会创建 1000 个用户,但他们不会同时执行。假设您的意图是对 1000 个用户同时执行请求执行压力测试,一个普通的线程组就足够了。 您可以使用 CSV 控制器 (http://jmeter.apache.org/usermanual/component_reference.html#CSV_Data_Set_Config) 设置不同的用户,以便每个线程都有自己的用户变量。如果您想要更精细的行为,还可以使用其他线程组控制器。

  1. 要创建更多虚拟用户,只需在 Thread Group

    下定义任意数量即可

  2. 要发送唯一数据,您可以将 code 值替换为 JMeter Function,例如:

            {
              "code": "${__threadNum}",
              "domainName": "string",
              "enabled": true,
              "name": "string"
            }
    

    上面的例子使用了__threadNum() function,它基本上是returns当前的虚拟用户号码,所以第一个用户的代码是1,第二个用户的代码是2,等等。您还可以考虑以下备选方案:

    • __Random() - 生成给定范围内的随机字符串
    • __RandomString() - 根据给定的源数据生成随机字符串
    • __UUID() - 生成独特的 GUI 结构
    • counter() - 每次被调用时生成一个递增的数字

有关 JMeter 函数概念的更多信息,请参阅 Apache JMeter Functions - An Introduction