首页 > 解决方案 > 在 Jmeter 中迭代两列 CSV/excel

问题描述

我有一个外部测试数据文件(excel/csv)。

外部测试数据文件

我的要求是在我的 jmx 树中,我的第一个 http 请求应该从ContentName列中获取值,例如:www.sample.${ContentName}并且我需要将 JsonPathExtractorApi列应用为jp@gc - JSON Path extractor

请注意,我只需要一个需要${JsonPathExtractorApi}的 json 路径提取器。对于酒店,我需要提取 4 次,而对于船舶 2 次,对于 Gem 3 次作为 JsonPathExtractorApi 的数量。

下面我附上了我试图实现的示例。

示例 JMX 文件

问题: 1.如何针对每个ContentName找到JsonPathExtractorApi的总数。

2.如果我将 CSV 保存在循环控制器之外,我无法遍历 csv,每次我得到第一个值(ContentName)。

3.如果我将csv保持在循环中,我可以遍历csv但不能在它之前获取内容值(对于我必须获取响应数据的第一个http采样器)

请任何人都可以花时间对此提出建议。如果可以达到目的,任何其他方法也是可以接受的。

提前致谢。

标签: jmeterperformance-testingjmeter-plugins

解决方案


如果您对此“外部数据文件”没有任何控制权,则唯一的解决方案是 2 If Controller实例

示例测试计划大纲:

  • 测试片段
    • 循环控制器下有什么
  • 线程组
    • CSV 数据集配置
    • 如果是控制器,条件:${__groovy(!vars.get('ContentName').equals(''),)}
    • 如果是控制器,条件:${__groovy(vars.get('ContentName').equals(''),)}
      • 模块控制器 - 指向测试片段

演示:

If Controller 和 Module Controller 的 JMeter 演示测试计划


推荐阅读