我遇到了一个问题。我是SoapUI的新手。我必须阅读excel文件,然后在soap请求中放入一些变量。这是我所做的:我添加了一个groovy脚本来获取excel文件数据:导入jxl。*
Workbook workbook = Workbook.getWorkbook(new File("C:\\PATH\\TestData.xls"))
Sheet sheet1 = workbook.getSheet("Sheet1")
def rows = sheet1.getRows()
def cols = sheet1.getColumns()
log.info "Row Count =" + rows
log.info "Column Count =" + cols
def array = []
for(i=1;i<rows;i++) {
for(j=0;j<cols;j++) {
Cell cell = sheet1.getCell(j,i)
def variable = cell.getContents()
log.info cell.getContents()
array << variable
}
}
return array
数组返回:10和20。这是一个肥皂请求:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
<tem:Add>
<tem:intA>10</tem:intA>
<tem:intB>10</tem:intB>
</tem:Add>
</soapenv:Body>
</soapenv:Envelope>
[我能以某种方式调用Groovy脚本并将变量放入
<tem:intA>10</tem:intA>
<tem:intB>20</tem:intB>
而不是10和20,我应该调用groovy脚本方法并放入从Excel文件中获取的数据。
由于用例很简单:只需替换两个变量,就可以使用两个属性。
将脚本中的return array
更改为类似的内容:
testCase.setPropertyValue("intA", array[0].toString())
testCase.setPropertyValue("intB", array[1].toString())
然后您的请求:
<tem:intA>${#TestCase#intA}</tem:intA>
<tem:intB>${#TestCase#intB}</tem:intB>