当前位置: 首页 > 知识库问答 >
问题:

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

聂涛
2023-03-14

我遇到了一个问题。我是SoapUI的新手。我必须读取Excel文件,然后将一些变量放在肥皂请求中。这就是我所做的:我添加了一个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>

我可以以某种方式调用一个时髦的脚本并将变量放入

             <tem:intA>10</tem:intA>
             <tem:intB>20</tem:intB>

我应该调用一个groovy脚本方法,并从excel文件中获取数据,而不是10和20。

共有1个答案

微生季
2023-03-14

因为您的用例很简单:只需要替换两个变量,所以您可以只使用两个属性。

将脚本中的< code>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>
 类似资料:
  • 我正在尝试在SoapUI中发出SOAP请求,它需要使用用户名和密码进行身份验证。我让SoapUI基于wsdl文件生成一个测试,并尝试调用该服务。我按照SoapUI网站上的步骤使用身份验证(https://www.soapui.org/soap-and-wsdl/authenticating-soap-requests.html),但我不能让它工作。我不熟悉SOAP,所以我可能缺少一些基本的东西。我

  • 我从项目中的脚本执行一个脚本。 该脚本中还有另一个循环,即执行请求。之后,应该执行另外两个脚本来处理输出。这些在请求步骤之后的相同testcase中,但不会自动执行。

  • 我正在使用SOAPUI进行web服务测试。我想通过groovy脚本测试步骤进行xml解析。对于一个测试用例,我必须在SOAP请求中插入xml标记[like]。 我可以使用将value设置为xml标记,使用与尝试在SOAP请求中插入xml标记相同的函数,比如。但是在SOAP请求xml标记中设置为 由于这个问题,SOAP请求不能识别xml标记,因此响应中的值不是get reflect/update。

  • 我正在寻找一种方法来使用当前的测试用例/测试步骤名称作为我的请求xml的一个属性的值。 有人知道语法吗?我查了SoapUI文档,但找不到 我正在寻找类似的东西 ${#TestCase#TestStep#标签}

  • 嗨,有人能帮我吗。 如何请求soapweb服务并获取xml响应。Senario:使用SOAPUIIM发送带有用户名、密码身份验证的wsdl url,我还将发送SOAPXML数据并获得响应。如何使用nodejs或sails实现同样的目标。 在SoapUi中,我的soapxml请求如下 我的Soap身份验证就像 $UserName:xyz 我的wsdl url是http://esbuatt1wm.it

  • 问题内容: 是否可以使用Python的库发送SOAP请求? 问题答案: 确实有可能。 这是一个使用普通请求lib调用Weather SOAP Service的示例: 一些注意事项: 标头很重要。没有正确的标头,大多数SOAP请求将无法工作。可能是更 正确 使用的标头(但weatherservice更喜欢 这将以xml字符串形式返回响应-然后,您需要解析该xml。 为简单起见,我以纯文本形式包含了该