使用Groovy在数据驱动的SoapUI测试用例中获取的多个记录

时间:2018-06-14 14:37:02

标签: groovy soapui

我正在尝试使用Groovy脚本从Excel工作表中复制多行,但不知何故,我遇到了 java.lang.NullPointerException 错误。我正在使用的代码如下:

import com.eviware.soapui.support.XmlHolder   

 import jxl.*   

 import jxl.write.*

def numofapps = context.expand('${Data_AppNM#NumberOfApplicants}')

 def apps2 = ["2","3","4","5","6"]

 def myTestCase = context.testCase   

 def counter,next,previous,size   

 Workbook workbook1 = Workbook.getWorkbook(new File("C://Path//Multiple records.xls")) 

 Sheet sheet1 = workbook1.getSheet(0)   

 size= sheet1.getRows().toInteger()

 propTestStep = myTestCase.getTestStepByName("Data")    

 propTestStep.setPropertyValue("Total", size.toString())   

 counter = propTestStep.getPropertyValue("Count").toString()    

 counter = counter.toInteger()

 next = (counter > size-2? 0: counter+1)   



 Cell u1_1 = sheet1.getCell(0,counter)
 Cell u2_1 = sheet1.getCell(1,counter)
 Cell u3_1 = sheet1.getCell(2,counter) 

 workbook1.close()



 1value1 = u1_1.getContents()
 2value1 = u2_1.getContents()
 3value1 = u3_1.getContents()       

 propTestStep.setPropertyValue("A1.1Value", 1value1 ) 
 propTestStep.setPropertyValue("A1.2Value", 2value1 )
 propTestStep.setPropertyValue("A1.3Value", 3value1 )

 propTestStep.setPropertyValue("Count", next.toString())  

 next++ //increase next value   

 propTestStep.setPropertyValue("Next", next.toString())

if (apps2.contains(numofapps)){ //setting values for Applicant 2 if requested

 counter = propTestStep.getPropertyValue("Count").toString()    

 counter = counter.toInteger()

 next = (counter > size-2? 0: counter+1)

 // Extracting the Data from the Excel sheet   

 Cell u1_2 = sheet1.getCell(0,counter)
 Cell u2_2 = sheet1.getCell(1,counter)
 Cell u3_2 = sheet1.getCell(2,counter) 

 workbook1.close()


 1value2 = u1_2.getContents()
 2value2 = u2_2.getContents()
 3value2 = u3_2.getContents()

 propTestStep.setPropertyValue("A2.1Value", 1value2 )  
 propTestStep.setPropertyValue("A2.2Value", 2value2 )
 propTestStep.setPropertyValue("A2.3Value", 3value2 )

 propTestStep.setPropertyValue("Count", next.toString())

 next++ //increase next value   

 propTestStep.setPropertyValue("Next", next.toString())

}

我在Cell u1_2 = sheet1.getCell(0,counter)步骤中遇到NullPointerException错误。

您能否告诉我为什么要点击这些内容?还有其他方法可以使用更短的代码吗?

谢谢:)

0 个答案:

没有答案