Testing 来自文件的JMeter HTTP请求Post正文

Testing 来自文件的JMeter HTTP请求Post正文,testing,jmeter,performance-testing,Testing,Jmeter,Performance Testing,我正试图通过JMeter发送HTTP请求。我创建了一个循环计数为25的线程组。我有一个120的爬升周期,线程数设置为30。在线程组中,我有20个HTTP请求。对于JMeter如何运行这些请求,我有点困惑。线程组中的20个请求是否都在单个线程中运行,线程组上的每个循环是否在不同的线程上并发运行?或者20个请求中的每一个都在可用时在不同的线程中运行 我的另一个问题是,在每个循环中,我想改变通过HTTP请求发送的post数据体。是否可以通过文件传递post数据体,而不是将数据插入JMeter body

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

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


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

第1点-JMeter并发性

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

  • -暂停所有线程,直到达到指定阈值,然后同时释放所有线程
  • -指定每分钟的加载请求数 第2点-发送文件而不是文本

    您可以将请求主体替换为函数。若你们想参数化它,你们可以使用嵌套函数来提供当前的迭代——见下文

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

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

  • config元素-从指定的值开始,每次调用时按指定的值递增
  • 函数-从1开始,每次调用时递增1。可以是“每用户”或“全局”

  • 有关上述和更多JMeter函数的全面信息,请参阅本系列文章

    谢谢你的回复。我会尝试一下。谢谢你,我可以使用发布的指南来做我想做的事情。