失败的线程不应从CSV文件中选择相同的数据,该数据已被队列中的线程读取

时间:2019-03-14 04:13:09

标签: jmeter

前提条件:
线程:5,循环计数:5

CSV配置文件包含:IP地址和Mac地址 enter image description here

场景
开始执行线程时,有5个线程从CSV文件读取IP地址和Mac地址的值。
T3执行失败,线程开始循环,它从CSV中选择Ist ip和ist mac地址,并且已被ist线程选择并处于队列中(完成端到端流)。

如何处理队列中的所有线程都应该从CSV文件中选择唯一行?

1 个答案:

答案 0 :(得分:0)

JMeter 5.1起,test elementsJMeter Functions中都不适合进行参数化的操作提供了您要查找的行为。

您可以使用__groovy() function以所需的方式编写CSV文件读取的脚本,例如,您可以将第一个虚拟用户配置为读取第一行,第二个用户-第二行等。

相关的Groovy代码类似于:

  • ${__groovy(new File('test.csv').readLines().get(ctx.getThreadNum()).split('\,')[0],)}-从第一列获取值

  • ${__groovy(new File('test.csv').readLines().get(ctx.getThreadNum()).split('\,')[1],)}-从第二列获取值

    演示:

    enter image description here