프로젝트에 여러 개의 테스트 케이스가 있습니다. 나는 비누 UI 소스를 사용하고 있습니다.CSV 파일을 읽기 위해 groovy 스크립트를 다시 사용하는 방법
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")
}
각 테스트 케이스에 이들을 사용하려면, 나는 내가 TestCase1로 첫 선을 읽기 만들었습니다 .. 각 테스트 케이스에 복제해야 다음 부분은 TestCase2입니다. RunTestCase 옵션에서이 스크립트를 호출합니다.
하지만 불행히도 null 개체에 readline 메서드를 호출 할 수 없다는 오류가 발생합니다.
그래서 Dataloop 부분에 참조를 추가했습니다. 그러나 그것은 무한 루프를 만듭니다. 재사용 할 수있는 방법이 있습니까?
당신이 복제하는 경우에도 위의 스크립트 도움이되는지 확실하지? 이것을 확인하십시오 https://learnsoapui.wordpress.com/2012/05/19/groovy-datasource-teststep-dataloop-teststep-using-groovy-in-soapui/ – Rao
다음은 groovy에서 csv를 다루는 더 좋은 방법입니다 - https : //github.com/xlson/groovycsv – Rao
같은 테스트 케이스에서 잘 작동하는 코드. 하지만 멀리두고 재사용 개념은 작동하지 않습니다. – ChanGan