空手道-如何使用从响应数组接收的值循环Soap请求

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了空手道-如何使用从响应数组接收的值循环Soap请求相关的知识,希望对你有一定的参考价值。

我正在发出一个Soap请求,并且收到作为数组返回的响应:

 - [print] [
  "M4205N",
  "M4206U"
]

对于数组中的每个项目,我都希望再次提出一个Soap请求。我已经阅读了如何使用tables执行此操作并调用功能文件,并且已经阅读了如何loop through an array并调用js函数。我无法弄清楚如何遍历数组,并将每个值传递给另一个soap请求xml(一次传递一个)。

我想做这样的事情:

  • 给出soapURL
  • 和方法发布
  • def responseArray = / xml所需代码的路径/
  • def结果=调用read('otherRequest.feature')responseArray

otherRequest.feature文件将如下所示:

@ignore
Feature:

Background:
* def myNewRequest = read('soap.xml')

Scenario:
  Given soapURL
  * replace myNewRequest 
  | token      | value              |
  | @@refNum@@ | responseArrayValue |
  When request myNewRequest 
  And method post

但是,出现此错误:

GetNewMessageList.feature:27-功能调用循环数组位置:0,M4205N的参数不是json或映射,]

如何循环遍历数组中的每个项目,并将每个值传递给另一个功能文件?

我正在发出Soap请求,并且收到作为数组返回的响应:-[print] [“ M4205N”,“ M4206U”]对于该数组中的每个项目,我都希望发出另一个Soap请求。我有...

答案

此行的添加应执行您想要的操作。是的,有一个严格的要求,即“循环”数组应为JSON对象数组。但是您可以一步转换一个原始数组:

以上是关于空手道-如何使用从响应数组接收的值循环Soap请求的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 C# 发送/接收 SOAP 请求和响应?

如何访问JsonPath数组结果的值(空手道断言)

如何从场景大纲中获取一列的值作为空手道中的数组

如何从空手道中的Java API中检索值数组?

csharp 客户端发送SOAP请求并接收响应

如何使用apache camel从soap响应中获取值?