在soapui 5.3.0中使用Groovy Script
并在将值从文件提取到列表时遇到以下问题。
下面代码的目的是,检索的列表必须与另一个只有有效值的列表进行比较。
附加代码段和示例csv文件以供参考。
检索值的代码:
def DBvalue= context["csvfile"] //csv file containing the data
def count= context["dbrowcount"] //here the rowcount is 23
for (i=0;i<count;i++) {
def lines= ""
lines= DBvalue.text.split('\n')
list<string> rows = lines.collect{it.split(';)}
log.info "list is"+rows
}
使用的示例CSV文件包含600列数据,包含23行
abc;null;1;2;3;5;8;null
cdf;null;2;3;6;null;5;6
hgf;null;null;null;jr;null;II
目前我的代码是获取以下输出:
[[abc,null,1,2,3,5,8,null]]
[[abc,null,1,2,3,5,8,null]]
[[abc,null,1,2,3,5,8,null]]
期望的输出:
[1,2,3,5,8]
[2,3,6,5,6]
[jr,II]
答案 0 :(得分:0)
您应该可以通过以下方式实现它,并按照内嵌评论进行操作。
//Provide your file path; change if needed
def file = new File('/tmp/test.csv')
//To hold all the rows
def list = []
//Change delimiter if needed
def delimiter = ';'
file.readLines().eachWithIndex { line, index ->
if (index) {
//Get the row data by split, filter
def lineData = line.split(delimiter).findAll { 'null' != it && it}
log.info lineData
list << lineData
}
}
//Print all the row data
log.info list
输入:
输出: