Groovy 如何使用csv文件执行检查

Groovy 如何使用csv文件执行检查,groovy,soapui,Groovy,Soapui,我想知道在执行检查时,是否有更好的方法迭代csv。实际上,我正在使用SOAPUI(免费版本)测试基于搜索的web服务 我想做的是查看来自特定搜索请求的响应(SOAP请求的步骤名称为“搜索请求”),并查找在xml标记之间找到的和中的所有测试实例(这将在groovy脚本步骤中) 现在我要做的是,对于'DepartureAirportId'的每个实例,我要检查ID是否在CSV文件中。csv文件中有两列(我们称之为Search.csv),两列都包含许多行。如果在第一列的任何行中找到航班,则为变量'Tes

我想知道在执行检查时,是否有更好的方法迭代csv。实际上,我正在使用SOAPUI(免费版本)测试基于搜索的web服务

我想做的是查看来自特定搜索请求的响应(SOAP请求的步骤名称为“搜索请求”),并查找在xml标记
之间找到的
中的所有测试实例(这将在groovy脚本步骤中)

现在我要做的是,对于'DepartureAirportId'的每个实例,我要检查ID是否在CSV文件中。csv文件中有两列(我们称之为Search.csv),两列都包含许多行。如果在第一列的任何行中找到航班,则为变量
'Test1'
添加计数+1,否则如果在csv的第二列中找到航班,则为变量
'Test2'
添加计数+1。如果在任何范围内未找到,请为变量
'NotFound'添加count+1


我不知道迭代csv是否是最好的结果,或者将csv中的所有数据输出到一个数组列表中并在其中迭代,但我想知道如何做到这一点,以及我自己的学习体验的最佳方式?

不知道您的算法,但是,在groovy中逐行遍历简单csv文件并使用分隔符拆分每一行的最简单方法是:

new File("/1.csv").splitEachLine(","){line->
    println " ${ line[0] }   ${ line[1] } "
}

您可能需要使用


它应该可以做到这一点-只需为第一列提供您要查找的文本作为规则,并检查它是否引发异常。

这可能很简单,但要注意引号。如果使用此库,在groovy中处理csv会很容易-您还在寻找答案吗?
new File("/1.csv").splitEachLine(","){line->
    println " ${ line[0] }   ${ line[1] } "
}
Format.of(String regex)