在Jmeter中迭代两列CSV / excel

时间:2018-07-04 10:01:01

标签: jmeter performance-testing jmeter-plugins

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

extenal test data file

我的要求是,在我的jmx树中,我的第一个http请求应采用 ContentName 列中的值,例如: www.sample。$ {ContentName} ,需要申请 JsonPathExtractorApi 列为 jp @ gc-JSON路径提取器

请不要让我只需要一个采用 $ {JsonPathExtractorApi} 的json路径提取器。对于酒店,我需要提取4倍,对于船舶来说,它需要提取2倍,对于宝石,它需要提取的JsonPathExtractorApi数量是其3倍。

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

SampleJMX file

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

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

3。如果我将csv保留在循环中,则可以遍历csv,但是不能在其之前获取contentvalue(对于第一个必须采样响应数据的http采样器)

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

谢谢。

1 个答案:

答案 0 :(得分:1)

如果您无法控制此“外部数据文件”,则唯一的解决方案是使用2个If Controller实例

示例Test Plan概述:

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

演示:

JMeter Demo Test Plan for If Controller and Module Controller