JMeter负载测试中的变量输入?

13

我需要对我开发的服务进行负载测试,但我需要向 Web 服务发送的数据具有一定的变化。

我已经使用 Http 请求设置了 Thread,并且我需要设置的参数,但我不知道如何在每次请求中更改 HTTP 参数的内容。

理想情况下,我希望提供一个数据项列表,并让 JMeter 迭代处理它们。

3个回答

12

10
一种方法是准备一个包含所需所有值的CSV文件。有多种不同的方法可以在之后使用它。Alies Belik的回答列出了大部分方法。然而,CSV方法的缺点是需要生成值列表,在某些测试中,您无法简单地重用它而不清理/重新初始化后端数据库。
另一个选择是用于生成随机值的函数,通常与“用户定义变量”控制器配对使用。
- __Random 用于在给定范围内生成数字。 - __RandomString 用于生成给定长度和包含一组字符的随机字符串。
这是一种强大的机制,但我发现它有点繁琐和笨重。

对于简单的变量,如生成用户名/密码/电子邮件组合,我更喜欢并发现使用随机变量配置元素更容易。它自Jmeter 2.3.3以来就可用了。将其添加到线程组中,并指定一个变量来存储每个线程的随机值。您稍后可以在HTTP采样器中引用此变量,在请求的GET / POST参数中,通过将参数的值指定为testuser-$ {rnd} 用于用户名,testpass-$ {rnd} 用于密码。每个线程将获得不同的$ {rnd} 值,因此存在重复值(用户)的小概率(但仍然有可能)。


抱歉,由于我的评分较低,我不得不从我的答案中删除一些链接。我尽力保留了最重要的链接。 - zorlem

0
除了@zorlem答案中提到的功能,您还可以使用:
  • __UUID 用于生成伪随机类型4通用唯一标识符,如果您需要生成随机且唯一的字符串。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接