如何使用Groovy逐个读取csv文件数据并将其放入变量

如何使用Groovy逐个读取csv文件数据并将其放入变量,groovy,jmeter,automated-tests,Groovy,Jmeter,Automated Tests,在这里,我面临一个问题。我想读取csv文件数据,然后一个接一个地将其放入一个变量,该变量我想分配下一个Http请求,比如ids.csv文件,该文件由如下值组成 23333 23334 23335 22336 23336 我使用Jsr223预处理器代码: def csvfile = new File('D:/datas/id/ids.csv') def lines =csvfile.readLines() lines.each { String line -> vars.put('Id

在这里,我面临一个问题。我想读取csv文件数据,然后一个接一个地将其放入一个变量,该变量我想分配下一个Http请求,比如ids.csv文件,该文件由如下值组成

23333
23334
23335
22336
23336
我使用Jsr223预处理器代码:

def csvfile = new File('D:/datas/id/ids.csv')
def lines =csvfile.readLines()
lines.each { String line ->
  vars.put('Id_value', line.toString())
}

如果错误,如何使用简单代码执行此操作?

您可以模拟JMeter CSV数据集,该数据集添加具有不同后缀的变量,例如:

然后使用ForEach控制器循环变量:


您可以模拟JMeter CSV数据集,该数据集添加具有不同后缀的变量,例如:

然后使用ForEach控制器循环变量:


您需要在引用名称中添加某种形式的计数器,您当前的代码将只创建一个值为
23336
Id\u值
变量,您需要对其进行如下修改:

def csvfile = new File('D:/datas/id/ids.csv')
def lines =csvfile.readLines()
lines.eachWithIndex {line, idx ->
    vars.put('Id_value_' + idx, line)
}
您将获得:

Id_value_0=23333
Id_value_1=23334
Id_value_2=23335
Id_value_3=22336
Id_value_4=23336
更多信息:


您需要在参考名称中添加某种形式的计数器,您当前的代码将只创建一个值为
23336
Id\u值
变量,您需要修改它,如下所示:

def csvfile = new File('D:/datas/id/ids.csv')
def lines =csvfile.readLines()
lines.eachWithIndex {line, idx ->
    vars.put('Id_value_' + idx, line)
}
您将获得:

Id_value_0=23333
Id_value_1=23334
Id_value_2=23335
Id_value_3=22336
Id_value_4=23336
更多信息:


您要覆盖每次迭代的值,如何获得1个变量中的所有值?此处Id\u值我要将其发送到下一个http请求,因此在该时间它将变为空,需要进行下一次迭代您要覆盖每次迭代的值,如何获取1个变量中的所有值?这里是Id\u值,我想将它发送到下一个http请求,这样它将变为空,需要下一次迭代。我只是粘贴上面的代码,变量没有传递到请求中,它没有获取Id\u值中的值,而是只获取${Id\u值-Http请求——jsr223 prepreprocessori只是粘贴上面的代码,变量没有在请求内部传递,它没有接受Id_value_uuu中的值,而是只接受${Id_value_uuu}-Http请求——jsr223预处理器