I am using Karate version 0.8.0.1 and I want to perform following steps to test some responses.
- I make a Get to web service 1
- find the value for currencies from the response of web service 1 using jsonpath: $.currencies
- Step 2 gives me following result: ["USD","HKD","SGD","INR","GBP"]
- Now I use Get method for web service 2
From the response of web service 2 I want to get the value of price field with json-path something like below(passing the values from step 3 above):
- $.holding[?(@.currency=='USD')].price
- $.holding[?(@.currency=='HKD')].price
- $.holding[?(@.currency=='SGD')].price
- $.holding[?(@.currency=='INR')].price
- $.holding[?(@.currency=='GBP')].price
So there are so many currencies but I want to verify price for only the currencies returned by web service 1(which will be always random) and pass it on to the the output of web service 2 to get the price. Once i get the price I will match each price value with the value returned from DB.
I am not sure if there is any simple way in which I can pass the values returned by service 1 into the json-path of service 2 one by one and get the results required. Any suggestions for doing this will be helpful As this will be the case for most of the web services I will be automating.