如何重新使用groovy脚本来读取csv文件

时间:2017-03-11 11:14:37

标签: groovy soapui

我的项目中有很多测试用例。我正在使用肥皂ui开源。

要阅读csv文件,我使用以下代码。

数据源

def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
//Define Path
def csvFilePath = "D:\\URL.csv"
context.fileReader = new BufferedReader(new FileReader(csvFilePath))
//Header
firstline = context.fileReader.readLine()
//Actual Test Data
firstline = context.fileReader.readLine()
//Split data with comma
String[] data = firstline.split(",")
log.info data[0]
log.info data[1]
//Assign each comma separated value to the Property
context.testCase.setPropertyValue("username", data[0])
context.testCase.setPropertyValue("userrole", data[1])

DataLoop:回送

nextline = context.fileReader.readLine()
if(nextline!=null)
{
String[] data = nextline.split(",")
log.info data[0]
log.info data[1]
context.testCase.setPropertyValue("username", data[0])
context.testCase.setPropertyValue("userrole", data[1])
//context.testCase.setPropertyValue("roledescription", data[2])
//Navigate to AddUser Step to run again with the next row
testRunner.gotoStepByName("AddUsers")
}

要在每个测试用例中使用这些,我必须克隆每个测试用例..我创建了Reading第一行作为TestCase1,下一部分创建为TestCase2。我从RunTestCase选项调用这些脚本。

但不幸的是,我收到错误无法在null对象上调用方法readline。

所以我在Dataloop部分添加了引用。但它会创建无限循环..有没有办法重用?

1 个答案:

答案 0 :(得分:-1)

将所有Groovy代码复制到外部文件中,并将其命名为AddUser.groovy

然后在测试用例中添加新的groovy脚本,并将其添加到
评估(新文件('path / to / AddUser.groovy'));

它将帮助您在不同的测试用例中重用您的groovy脚本