gpt4 book ai didi

jmeter - 使用 JMeter 时陷入嵌套循环。嵌套循环 Controller 和 CSV 数据集配置。

转载 作者:行者123 更新时间:2023-12-04 11:50:27 24 4
gpt4 key购买 nike

在我的网站上,我有两个商家操作:搜索和浏览。一次搜索通常会触发三次浏览。

我有一个 JMeter 测试,它使用商户和商户 ID 号的 CSV 文件,在大规模运行此测试时,我希望使用我网站上的所有商户。

我已经像这样在 JMeter 中映射了它:

  • 循环 Controller
    • HTTP 采样器(搜索/search/${merchant_name})
    • CSV数据集配置(商家名称)
    • 循环 Controller
      • HTTP 采样器(浏览/merchant/${merchant_id})
      • CSV数据集配置(商户ID)

我在外循环中设置了loop count = 2,在内循环中设置了loop count = 3

我预计两次搜索会触发 6 次浏览操作。但我得到的是一次搜索,然后是三次浏览,一直持续到我中止测试。

我是否误解了循环结构?这是预期的行为吗?

我怎样才能实现运行搜索、然后浏览 3 次、再浏览两次的目标?

最佳答案

我认为您滥用了 CSV 数据集配置。

我已经让你的场景按如下方式工作:

给定以下 CSV 文件:

merchants.csv 包含:

merchant1name
merchant2name

和其他 2 个 CSV 文件:merchant1name.csvmerchant2name.csv,内容为:

id1
id2
id3

以及以下测试计划结构:

  • 线程组(1 个线程,1 秒加速,1 个循环)
    • 循环 Controller (2 个循环)
      • HTTP 请求/${商家名称}
        • Beanshell 后处理器(代码和解释见下文)
      • CSV 数据集配置(文件名:您的 merchants.csv 文件的完整路径,变量名称:merchantname,所有默认值)
      • 循环 Controller (3 个循环)
        • HTTP 请求/${merchantid}
          • CSV 数据集配置(文件名:merchantname1 文件的完整路径,merchantname1 应该是属性,变量名:merchantid,全部默认)

通过使用关于 CSV 数据集配置的“所有默认值”,我假设如下:

  • 文件编码 - 空白(我的 JMeter 使用 UTF-8 运行,这对大多数情况都适用)
  • 分隔符 - ,(逗号)
  • 允许引用数据 - false
  • 在 EOF 时回收 - 正确
  • 在 EOF 时停止线程 - false
  • 共享模式 - 所有线程

bean 壳代码:

props.put("merchantname", vars.get("merchantname"));

这是必需的,因为 CSV 数据配置不允许在文件路径中使用变量。

内循环路径:

C:\jmeter\${__P(merchantname,)}.csv

可以引用http://glinius.narod.ru/stackoverflow/nestedloop.zip文件。解压从“nestedloop”文件夹(1 个 jmx 文件和 3 个 CSV 文件)到 JMeter 的/bin 文件夹的所有内容并运行测试。它将产生 8 个请求

引用资料:

  1. Using CSV DATA SET CONFIG
  2. How to use BeanShell

关于jmeter - 使用 JMeter 时陷入嵌套循环。嵌套循环 Controller 和 CSV 数据集配置。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22862242/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com