【发布时间】:2012-02-21 14:21:35
【问题描述】:
我需要对我开发的服务进行负载测试,但我需要发布到 Web 服务的数据有一些差异。
我已经使用 Http 请求设置了 Thread,并且我已经设置了需要设置的参数,但是我看不到如何将 HTTP 参数的内容从请求更改为请求。
理想情况下,我想输入数据项列表并让 JMeter 遍历它们。
【问题讨论】:
标签: jmeter load-testing
我需要对我开发的服务进行负载测试,但我需要发布到 Web 服务的数据有一些差异。
我已经使用 Http 请求设置了 Thread,并且我已经设置了需要设置的参数,但是我看不到如何将 HTTP 参数的内容从请求更改为请求。
理想情况下,我想输入数据项列表并让 JMeter 遍历它们。
【问题讨论】:
标签: jmeter load-testing
使用您的测试参数列表准备一种 csv 文件,并使用它来参数化您的测试采样器,至少使用以下内容:
CSV Data Set Config
解释示例here,简单示例here。
Jmeter 函数:__CSVRead、__StringFromFile。
【讨论】:
一种方法是准备一个包含您需要的所有值的 CSV 文件。之后有多种不同的方法可以使用它。 Alies Belik 的回答列出了其中的大部分。然而,CSV 方法的缺点是您需要生成值列表,并且在某些测试中,您不能在不清理/重新初始化后端数据库的情况下简单地重用它。
另一个选项是生成随机值的函数,通常与“用户定义变量”控制器配对。
这是一个强大的机制,但我觉得它有点麻烦和笨重。
对于简单的变量,例如生成用户名/密码/电子邮件组合,我更喜欢并且发现使用 Random Variable 配置元素更容易。它从 Jmeter 2.3.3 开始可用。您将它添加到您的线程组并指定一个变量来存储每个线程的随机值。您可以稍后在 HTTP 采样器中,在请求的 GET/POST 参数中引用此变量,方法是将参数的值指定为 testuser-${rnd} 用于用户名,testpass-${rnd} 用于密码。每个线程将获得不同的值 ${rnd},因此您获得重复值(用户)的可能性很小(但仍有机会)。
【讨论】:
除了@zorlem answer中提到的功能,您还可以使用:
【讨论】: