【问题标题】:JMeter HTTP Request Post Body from File来自文件的 JMeter HTTP 请求发布正文
【发布时间】:2014-08-08 10:55:15
【问题描述】:

我正在尝试通过 JMeter 发送 HTTP 请求。我创建了一个循环计数为 25 的线程组。我的加速期为 120,线程数设置为 30。在线程组中,我有 20 个 HTTP 请求。我对 JMeter 如何运行这些请求有点困惑。线程组中的 20 个请求中的每一个是否都在单个线程中运行,并且线程组上的每个循环都在不同的线程上同时运行?或者当它们可用时,20 个请求中的每一个都在不同的线程中运行。

我的另一个问题是,在每个循环中,我想改变通过 HTTP 请求发送的发布数据的正文。是否可以通过文件传递发布数据主体,而不是将数据插入到 JMeter 主体数据选项卡中,如下所示:

但是,我不想这样做,而是想定义某种变量,该变量根据正在运行的线程组的迭代来选择文件,例如,如果它第二次在线程组上循环,我想调用 test2.txt,如果第三次 test3.txt 等,这些文本文件将包含不同的帖子数据。谁能告诉我JMeter是否可以做到这一点,如果可以,我将如何去做。

【问题讨论】:

    标签: testing jmeter performance-testing


    【解决方案1】:

    第 1 点 - JMeter 并发

    JMeter 从 1 个线程开始,并根据加速集产生更多线程。在您的情况下(30 个线程和 120 秒加速)每 4 秒添加另一个线程。每个线程执行 20 个请求,如果有另一个循环 - 重新开始,如果没有循环 - 线程将关闭。为了控制负载和并发,JMeter 提供了 2 个选项:

    1. Synchronizing Timer - 暂停所有线程直到达到指定阈值,然后同时释放所有线程
    2. Constant Throughput Timer - 指定每分钟请求的负载。

    第 2 点 - 发送文件而不是文本

    您可以用__fileToString 函数替换您的请求正文。如果你想参数化它,你可以使用嵌套函数来提供当前迭代 - 见下文。

    第 3 点 - 添加迭代作为参数

    JMeter 提供了 2 个选项来说明如何在每个循环中增加一个计数器

    1. Counter 配置元素 - 从指定值开始,每次调用时都会按指定值递增。
    2. __counter 函数 - 从 1 开始,每次调用时递增 1。可以是“每用户”或“全局”

    请参阅How to Use JMeter Functions 帖子系列以获取有关上述和更多 JMeter 功能的全面信息。

    【讨论】:

    • 感谢您的回复。我会试试这个。
    • 感谢您,我能够使用发布的指南来做我想做的事。
    猜你喜欢
    • 1970-01-01
    • 2018-01-26
    • 1970-01-01
    • 1970-01-01
    • 2022-01-27
    • 2020-02-20
    • 1970-01-01
    • 2016-03-12
    • 1970-01-01
    相关资源
    最近更新 更多