import java.text.SimpleDateFormat def date = new Date() def file_date = new SimpleDateFormat("dd_MM_yyyy_HH_mm_ss") def csvFilePath = C:/G-Groovy/SDM-IMSI-MSISDN.csv def reportFile = "C:/G-Groovy/Reports/SDM-Activate_${file_date.format(date)}.log" context.fileReader = new BufferedReader(new FileReader(csvFilePath)) File report = new File(reportFile) def rowsData = context.fileReader.readLines() report.text = "SDM-Activate Start: ${file_date.format(date)}\n" for(int i = 0; i < rowsData.size(); i++) { def data = rowsData[i].split(",") testRunner.testCase.setPropertyValue( "TARGET-1", data[0] ) testRunner.testCase.setPropertyValue( "TARGET-2", data[1] ) tStep = testRunner.testCase.getTestStepByName("PT-SDM-Activate") testRunner.runTestStepByName( "PT-SDM-Activate") def xmlResponse = tStep.getPropertyValue("Response") def xml = new XmlSlurper().parseText(xmlResponse) def line = ["Seq=${i}", data[0], data[1], "Status=${xml.Body.changeSdmDataResponse.@resultCode}" ] line << xml.'**'.findAll {it.name() == 'sdmDataResponse' }.collectMany{ ["FlowId=${it.@flowId}", "Status=${it.children()[0].@resultCode}" ]} log.info line.flatten() report << line.flatten() +'\n' }