I am designing automation scripts using the REST APIs, RestAssured with Cucumber BDD framework. I have multiple APIs where one API’s response is used as a parameter in another API.
Here is my feature file:
Feature: Create Order API
@Background:
Scenario Outline: Generate Access token With Valid Details
Given Query param for request
| grant_type |
| client_credentials |
Given Basic Auth keys for request “<userName>” and “<key>”
When Build request for baseurl “PAYPAL_BASE_URI” and endpoint “ENDPOINT_GET_AUTH_KEY”
And Perform “POST” request using
Then status code is 200
And response contains “scope”
Examples:
| userName | key |
| AWnCb | EMAekuSA2f |
Now the response of the above API is as follows:
{
“scope”: “https://uri.pppaypal.com/services/invoicing https://uri.pppaypal.com/services/applications/webhooks”,
“access_token”: “ALs1szFnv2TJ19Zf3vq”,
“token_type”: “Bearer”,
“app_id”: “APP-284543T”,
“expires_in”: 311286,
“nonce”: “2022-05-31T03:41:41ZWs9dpOQ”
}
Now I need this “access_token” as in the “Create Order API” Authorization parameter with Bearer. also i need to pass “app_id” and “nonce” in the Create Order API. The “Create Order API” feature file is below:
Scenario: Verify create order api using valid auth
Given Generate request
And Build request for baseurl “PAYPAL_BASE_URI” and endpoint “ENDPOINT_CREATE_ORDER_API”
And Set header values as
| Content-Type | Authorization | app_id | nonce |
| application/json | <token> | <app_id> | <nonce> |
When Perform “POST” request using “FILE_PATH_ORDER_JSON”
Then status code is 201
How can I get the values from the response of one API and the use that data in the next API as payload or query param in the same feature file so that I can use it anywhere in this feature file?
Source: Read More