簡體   English   中英

如何將一個功能文件的json列表響應作為參數傳遞給另一功能文件

[英]How to pass the json list response of one feature file as parameter to another feature file

我的要求是,我想將第一個功能文件的響應作為輸入傳遞給第二個功能文件。 第一個功能文件響應是一個json列表,因此可以預期的是應該為json列表的每個值調用第二個功能文件。

     Feature: 
      Scenario: identify the reference account
      * def initTestData = read('../inputData.feature')
      *  def accountData = $initTestData.response
      * print “Account Details”+accountData // output of this is a json list  [“SB987658”,”SB984345”]
      * def reqRes = karate.call('../Request.feature', { accountData : accountData })

在Request.feature文件中,我們正在動態構建url

   Given url BaseUrl + '/account/'+'#(accountId)' -  here am facing issue http://10.34.145.126/account/[“SB987658”,”SB984345”]

我的要求是Request.feature應該為'accountData'Json列表中的每個值調用

我努力了:

 * def resAccountList = karate.map(accountData, function(x){accountId.add(x) }) 
 * def testcaseDetails = call read('../requests/scenarios.feature') resAccountList.accountId

結果相同,accountId被替換為[“ SB987658”,“ SB984345”]

我需要兩次調用Request.feature http://10.34.145.126/account/SB987658 http://10.34.145.126/account/SB984345並使用每個調用對后續功能文件調用的響應。

我認為您在karate.map()有一個錯誤, karate.map()以下示例:

* def array = ['SB987658', 'SB984345']
* def data = karate.map(array, function(x){ return { value: x } })
* def result = call read('called.feature') data

called.feature是:

Feature:

Scenario:
Given url 'https://httpbin.org'
And path 'anything', value
When method get
Then status 200

發出2個請求:

https://httpbin.org/anything/SB987658
https://httpbin.org/anything/SB984345

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM