我在这里遇到一个问题。我想读取csv文件数据并逐个将其放入变量中,并且该变量我想分配下一个Http请求,请说ids.csv文件,其中包含这样的值
23333
23334
23335
22336
23336
我正在使用Jsr223 PreProcessor代码:
def csvfile = new File('D:/datas/id/ids.csv')
def lines =csvfile.readLines()
lines.each { String line ->
vars.put('Id_value', line.toString())
}
如果错了,如何用简单的代码做到这一点?
答案 0 :(得分:1)
您需要在JMeter Variables引用名称中添加某种形式的计数器,当前代码只会创建一个Id_value
变量,其值为23336
,您需要修改它像:
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 :(得分:0)
您可以模拟添加具有不同后缀的变量的JMeter CSV数据集,例如tutorial:
String Filename = vars.get("GETfile");
String fileContents = new File(Filename).getText('UTF-8');
def lines = 0 ;
fileContents.eachLine { line ->
lines++;
vars.put("CSVLine_" + lines, line);
}
vars.put("GETfileLength",lines.toString()) ;
然后使用ForEach Controller循环变量: