【问题标题】:Variable input for JMeter Load testing?JMeter负载测试的变量输入?
【发布时间】:2012-02-21 14:21:35
【问题描述】:

我需要对我开发的服务进行负载测试,但我需要发布到 Web 服务的数据有一些差异。

我已经使用 Http 请求设置了 Thread,并且我已经设置了需要设置的参数,但是我看不到如何将 HTTP 参数的内容从请求更改为请求。

理想情况下,我想输入数据项列表并让 JMeter 遍历它们。

【问题讨论】:

    标签: jmeter load-testing


    【解决方案1】:

    使用您的测试参数列表准备一种 csv 文件,并使用它来参数化您的测试采样器,至少使用以下内容:

    1. CSV Data Set Config
      解释示例here,简单示例here

    2. Jmeter 函数:__CSVRead__StringFromFile

    3. Variables From CSV 采样器来自jmeter-plugins

    【讨论】:

      【解决方案2】:

      一种方法是准备一个包含您需要的所有值的 CSV 文件。之后有多种不同的方法可以使用它。 Alies Belik 的回答列出了其中的大部分。然而,CSV 方法的缺点是您需要生成值列表,并且在某些测试中,您不能在不清理/重新初始化后端数据库的情况下简单地重用它。

      另一个选项是生成随机值的函数,通常与“用户定义变量”控制器配对。

      • __Random 用于生成给定范围内的数字。
      • __RandomString 用于生成给定长度并包含一组字符的随机字符串。

      这是一个强大的机制,但我觉得它有点麻烦和笨重。

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

      【讨论】:

      • 对不起,由于我的评分低,我不得不从我的答案中删除一些链接。我试图留下最重要的。
      【解决方案3】:

      除了@zorlem answer中提到的功能,您还可以使用:

      • __UUID 用于生成伪随机类型 4 通用唯一标识符,如果您需要生成随机且唯一的字符串。

      【讨论】:

        猜你喜欢
        • 2018-09-28
        • 2012-07-29
        • 1970-01-01
        • 2017-11-26
        • 2018-05-28
        • 1970-01-01
        • 2019-02-10
        • 1970-01-01
        • 2015-01-05
        相关资源
        最近更新 更多