如何在jmeter中多次执行CSV文件

如何在jmeter中多次执行CSV文件,jmeter,performance-testing,load-testing,Jmeter,Performance Testing,Load Testing,我有一个CSV文件(包含2个请求),我希望以以下方式执行JMeter: THREAD 1: LoopCount 1 Request 1 Request 2 LoopCount 2 Request 1 Request 2 LoopCount 3 Request 1 Request 2 我当前的JMX文件如下所示 THREAD GROUP(Threads=1, Loo

我有一个CSV文件(包含2个请求),我希望以以下方式执行JMeter:

THREAD 1:
    LoopCount 1
         Request 1
         Request 2
    LoopCount 2
         Request 1
         Request 2
    LoopCount 3
         Request 1
         Request 2
我当前的JMX文件如下所示

THREAD GROUP(Threads=1, LoopCount=3):
     Loop Controller(LoopCount=forever)
         HTTP Request
         CSV Data Config(Recycle on EOF=False, Stop Thread on EOF=True)

但它只执行一次(1个循环)。如果我在EOF=True上修改Recycle,它将永远执行

  • 在EOF=True上有
    Stop Thread
    ,它指示JMeter在到达文件末尾时停止线程(虚拟用户)
  • 您已配置为永远循环,这意味着您的测试永远不会结束
  • 您在EOF=False时有
    Recycle
    ,这意味着当到达CSV文件的最后一行时,您将获得存储在每个和每个下一个请求的相应变量中的
  • 所以

    • 卸下此回路控制器
    • 并将CSV数据集配置重置为其在文件末尾循环/停止线程的默认设置:

    在上面的演示图像中:

    • 返回当前线程数(虚拟用户)
    • ${uuuujm\uuuuuuuuu线程组\uuuuuidx}
      是返回线程组当前循环的

    更多信息:

    基于您的配置(线程数=2,循环计数=3,csv文件中的请求数=2)。我希望总共有12个请求。用户1:R1 R2 R1 R2 R1 R2和用户2:R1 R2 R1 R2 R2。但是你的程序只发送6个请求。我不知道csv文件中有多少个请求。因此,对于循环计数3,每个用户应执行csv文件3次。但无论如何,我找到了一种方法=>我实际上在BeanShell预处理中读取csv并计算请求数。然后,当beanshell预处理器发送所有请求时,我将停止beanshell预处理器本身的线程。然后将循环控制器放回,并将循环数设置为CSV文件中的行数,您可以使用类似
    ${u groovy(新文件('test.CSV')。readLines().size(),)}
    的方法计算它,请避免使用beanshell进行脚本编写。更多信息: