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

巧了我就是萌 提交于 2021-02-16 22:54:10

问题


My requirement is, I want to pass the response of first feature file as input to second feature file. The first feature file response is a json list, so the expectation is second feature file should be called for each value of json list.

     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 })

In Request.feature file we are constructing the url dynamically

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

My requirement is Request.feature should be called for each value in ‘accountData’ Json list

I have tried:

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

Result is same, accountId got replaced as [“SB987658”,”SB984345”]

my I need to call Request.feature twice http://10.34.145.126/account/SB987658 http://10.34.145.126/account/SB984345 and use the response of each call to the subsequent feature file calls.


回答1:


I think you have a mistake in karate.map() look at the below example:

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

And called.feature is:

Feature:

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

Which makes 2 requests:

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


来源:https://stackoverflow.com/questions/54302339/how-to-pass-the-json-list-response-of-one-feature-file-as-parameter-to-another-f

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!