Arrays 空手道-如何使用从响应数组接收的值循环Soap请求
我发出一个Soap请求,并收到作为数组返回的响应:Arrays 空手道-如何使用从响应数组接收的值循环Soap请求,arrays,api,cucumber,karate,Arrays,Api,Cucumber,Karate,我发出一个Soap请求,并收到作为数组返回的响应: - [print] [ "M4205N", "M4206U" ] 对于数组中的每个项,我想发出另一个Soap请求。我已经阅读了如何使用和调用功能文件,以及如何使用和调用js函数。我不知道如何在数组中循环,并将每个值传递给另一个soap请求xml(一次一个) 我想这样做: @ignore Feature: Background: * def myNewRequest = read('soap.xml') Scenario: G
- [print] [
"M4205N",
"M4206U"
]
对于数组中的每个项,我想发出另一个Soap请求。我已经阅读了如何使用和调用功能文件,以及如何使用和调用js函数。我不知道如何在数组中循环,并将每个值传递给另一个soap请求xml(一次一个)
我想这样做:
@ignore
Feature:
Background:
* def myNewRequest = read('soap.xml')
Scenario:
Given soapURL
* replace myNewRequest
| token | value |
| @@refNum@@ | responseArrayValue |
When request myNewRequest
And method post
- 给定soapURL
- 方法岗
- def responseArray=/xml我想要的代码路径/
- def result=调用读取('otherRequest.feature')响应RAY
@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-特性调用循环数组位置的参数不是json或映射:0,M4205N
如何循环数组中的每个项目,并将每个值传递给另一个要素文件?添加这一行应该可以满足您的需要。是的,“循环”数组必须是JSON对象的数组,这是一个硬性要求。但您可以在一个步骤中转换一组基本体:
* def responseArray = karate.mapWithKey(responseArray, 'responseArrayValue')
这里记录了这一点: