在 SoapUI 的 SOAP 请求中使用 excel 文件变量

Use excel file variables in SOAP request in SoapUI

我遇到了一个问题。我是 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

数组returns: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>

我应该调用 groovy 脚本方法并放置数据,而不是 10 和 20,这些数据是我从 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>