【问题标题】:Jmeter Variable from CSV来自 CSV 的 Jmeter 变量
【发布时间】:2020-06-04 23:27:19
【问题描述】:

我正在运行一个带有 HTTP 请求的 Jmeter 测试计划,以测试 Web 服务的性能。

在我的测试中,我需要在我的 HTTP 请求的正文数据中更改一个名为 REF 的变量。 REF 可以有 3000 个值。因此,我创建了一个包含所有这 3000 个值的 CSV 文件、一个 CSV 数据集配置和一个名为 REF 的 Jmeter 参数,并在我的 HTTP 请求中使用它:

<measure>
    <measureRef id="${REF}"></measureRef>
    <measureTime>${__time(yyyy-MM-dd'T'HH:mm:ss)}</measureTime>
    <measureVal>
        <value>${__Random(1,100,)}</value>
    </measureVal>
</measure>

正如您在这个 XML 中看到的那样,我使用 Jmeter 的 time 和 Random 函数在每次运行测试计划时都有不同的请求。

我希望您自动为 REF 的所有 3000 个值运行测试计划。为此,我尝试像这样配置线程组:线程数 = 3000 和循环控制 = 1。

问题是测试需要 3 分钟才能完成。所以我想知道是否有其他方法可以做。问题是我需要对我的 CSV 中所有不同的 3000 值进行测试,而且我没有看到其他方法。我试图在我的身体数据中添加另一个度量,如下所示:

<measure>
    <measureRef id="${REF}"></measureRef>
    <measureTime>${__time(yyyy-MM-dd'T'HH:mm:ss)}</measureTime>
    <measureVal>
        <value>${__Random(1,100,)}</value>
    </measureVal>
</measure>
<measure>
    <measureRef id="${REF}"></measureRef>
    <measureTime>${__time(yyyy-MM-dd'T'HH:mm:ss)}</measureTime>
    <measureVal>
        <value>${__Random(1,100,)}</value>
    </measureVal>
</measure>

但是在两个度量中使用的 REF 值相同,我想要的是在 CSV 中选择不同的值。

我也尝试像这样配置线程组:线程数 = 1 和循环控制 = 3000。但它不起作用,我有很多错误......

我希望快速运行测试,因为为了测试我的 Web 服务,我想每 1 分钟注入 3000 个值(可能通过使用流控制操作)。而且如果测试跑3分钟,我就太长了,所有的值都不会被测试...

感谢您的帮助!

【问题讨论】:

    标签: csv testing jmeter


    【解决方案1】:

    如果您在 1 个请求中使用 2 个数据,那么如果您不重复数据,则最多可以使用 1500 个虚拟用户。

    如果没问题,则在 csv 文件中添加 2 列,如 REF1 和 REF2,每列将有 1500 个数据。然后您可以在请求中使用 ${REF1} 和 ${REF2}。

    【讨论】:

      【解决方案2】:

      如果您需要 3 分钟为 3000 个用户添加 3000 个值,并且您需要在 1 分钟内完成此操作,我可以想到 2 个可能的原因:

      1. 您的应用程序无法更快地处理请求。您可以尝试在Thread Group 中增加线程数,即增加到 9000,看看它是否有帮助。如果您仍然有这 3 分钟的处理时间 - 应归咎于您的应用程序
      2. JMeter 发送请求的速度不够快。

      【讨论】:

        猜你喜欢
        • 2011-04-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多