【问题标题】:How to acheive multiple http requests with csv file in jmeter?如何在 jmeter 中使用 csv 文件实现多个 http 请求?
【发布时间】:2020-01-10 14:30:12
【问题描述】:

我想通过 csv 文件多次模拟具有 2 个 http 请求和 1 个 http 请求的用户。下面是我的结构

Test Plan
- Thread Group *[No. of threads = 2, Ramp-up = 1, Loop count = 1]*
- - View Results Tree
- - Simple Controller
- - - http request 1
- - - http request 2
- - - while controller *[condition = ${no} (variable from csv file)]*
- - - - http request 3
- - - - CSV Data set Config *[Recycle on EOF = False, Stop on EOF = False, Sharing Mode = All threads] and CSV file has 3 records*

预期:1 个用户应该执行

http请求1,http请求2,http请求3,http请求3,http请求3(因为csv有3条记录)


  • 如果我保持 在 EOF = False 时循环,在 EOF = False 时停止,它会继续运行请求,直到脚本结束并且在数据结束(即 3 行)之后它开始抛出错误
  • 如果我保持在 EOF = True 时循环,在 EOF = True 时停止,它只会为 1 个用户运行并停止。
  • 如果我保持 在 EOF = True 时循环,在 EOF = False 时停止,它将继续运行请求,直到脚本结束
  • 如果我保持在 EOF = False 时循环,在 EOF = True 时停止,它只会为 1 个用户运行并停止。


但无法按照我的预期进行模拟。任何帮助,将不胜感激。谢谢。

【问题讨论】:

    标签: java csv jmeter performance-testing


    【解决方案1】:

    有可能实现你的目标

    http请求1,http请求2,http请求3,http请求3,http 请求 3(因为 csv 有 3 条记录)

    CSV Data Set Config中配置如下

    在 While 控制器中设置了以下条件。

    ${__jexl3("${UNAME}"!="<EOF>")}
    

    其中 UNAME 是列名

    由于条件是在 while 控制器中执行的,所以在执行 http 请求之前需要额外的条件检查 3

    请看下面的控件结构。

    希望对你有用

    还可以通过以下修改多次迭代重复测试。添加了用于重置变量的 JSR223 采样器并将文本 EOF 添加到 CSV 文件的末尾。

    示例JMeter test 计划和CSV file 可在 GitHub 中找到。

    【讨论】:

      【解决方案2】:
      1. 修改您的 While Controller 条件,使其看起来像:

        ${__jexl3("${myVar}" != "<EOF>",)}
        

      2. 将您的 CSV 数据集配置作为 While 控制器的子项,并按如下方式进行配置:

      3. 在 CSV 数据集配置后添加If Controller 并使用相同的__jexl3() function 作为条件:

      4. 将采样器作为 If 控制器的子级
      5. 就是这样,您应该能够运行您的脚本并获得与 CSV 文件中的行数相等的执行次数:

      【讨论】:

      • 感谢 Dmitri T 和 Janesh Kodikara...这很有效..非常感谢 (y)
      • 嘿@Dmitri T 它没有为多个线程运行。我已将线程数增加到 2,但它只执行了一次。有什么建议吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-23
      • 2020-11-13
      • 2022-11-16
      相关资源
      最近更新 更多