I am designing automation scripts on Cucumber BDD framework for REST APIs using Rest assured. I have one api which generates the "Token" and then there is an another api for order create which requires this "Token" in the authorisation parameter. 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 Set global "access_token" in "token"
And Perform "POST" request using
Then status code is 200
And response contains "scope"
Examples:
| userName | key |
| AWnCbuv9Bee0_6 | EMWowD696LqfznidhQ2RT_jZL2ys |
Now response of 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" Authorisation parameter withe Bearer. 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 |
| application/json | Bearer <token> |
When Perform "POST" request using "FILE_PATH_ORDER_JSON"
Then status code is 201
How can i set "access_token" in "token" as global variable from the feature file so that i can use it anywhere in this feature file using the following step?
And Set global "access_token" in "token"