如何使用csv文件执行检查

时间:2017-05-24 18:10:44

标签: groovy soapui

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

我想要做的是查看特定搜索请求的响应(SOAP请求的步骤名称是'搜索请求')并查找xml标记之间找到的所有测试实例{ {1}}和btn3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ((MainActivity) getActivity()).onClickCreateFile(v); } }); 内的{1}} {这将是一个时髦的脚本步骤。)

<TestID>

现在我要做的是对于DepartureAirportId&#39;的每个实例,我想检查该ID是否在CSV文件中。 csv文件中有两列(让我们称之为Search.csv),两列都包含很多行。如果在第一列中的任何行内找到航班,则为变量<IFInformation>添加+1,否则如果在csv的第二列中找到,则为变量<OFInformation>添加+1。如果未在任何内容中找到,请为变量def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context) import groovy.xml.XmlUtil def response = messageExchange.response.responseContent def xml = new XmlParser().parseText( response ) def IF = xml.'soap:Body' .IF* .TestId.text() def OF = xml.'soap:Body' .OF* .TestId.text()

添加+1

我不知道迭代csv是最好的结果还是将csv中的所有数据输出到数组列表并在那里迭代但是我想知道如何做到这一点以及最好的方法为了我自己的学习经历?

2 个答案:

答案 0 :(得分:0)

不了解您的算法,但是最简单的方法是逐行迭代简单的csv文件并用分隔符分割每一行:

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

http://docs.groovy-lang.org/latest/html/groovy-jdk/java/io/File.html#splitEachLine(java.lang.String,%20groovy.lang.Closure)

答案 1 :(得分:0)

您可能要使用CSV Validator

Format.of(String regex)

它应该可以解决问题-只需在第一列中提供您要查找的文字,然后检查它是否引发异常即可。