# Context Parameters
In utility methods/ response validators, you will get access to various kinds of information related to that particular context in which you are executing the method. The purpose of this guide is to specify the format of each kind of information available to them.
This information is available by the this keyword inside the method.
this.execution
Only available if you invoke the utility methods inside theVariable Extractortab or inside the custom response validator. This contains the API request and response details. The structure ofthis.executionis as follows:{ "request": { "url": "STRING - URL with Query Params", "method": "STRING - Request Method", "headers": { "REQUEST_HEADER_NAME": "STRING - HEADER_VALUE" }, "body": "Request Body" }, "response": { "statusCode": "NUMBER - Status Code", "headers": { "RESPONSE_HEADER_NAME": "STRING - HEADER_VALUE" }, "executionTime": "NUMBER - In Milliseconds", "content": "STRING - Response Body", "parsed": "Parsed Response Body" }, "remarks": "STRING - Optional" }this.variables
This contains the current values of the variables, they can be either global or extracted variables. The structure ofthis.variablesis as follows:{ "VAR_NAME": "ANY - VAR VALUE" }this.methods
This contains the methods map. Through this, you may invoke other utility methods. The structure ofthis.methodsis as follows:{ "METHOD_NAME": "FUNCTION" }If you want to pass on the context parameters to your method then use the following syntax:
this.methods.METHOD_NAME.call(this, arg1, arg2);this.assertion
This contains the information about the current assertion if you have invoked the utility method in thePropertyorExpected Valuecolumn of the assertion or if you have used the custom operator. The structure ofthis.assertionis as follows:{ "source": "STRING - value can be one of jsonBody, xmlBody, textBody, statusCode, responseTime, responseHeaders, custom", "property": "STRING - whatever you have specified", "operator": "STRING - whatever you have specified", "expectedValue": "STRING - whatever you have specified" }Please note that if you have specified any variables or invoked any utility methods, then
this.assertionwill never show you the resolved values. Its purpose is only to show you the information which you have specified.this.expectedValue
The expected value is calculated from theAssertionstable. This information is available to the custom response validator/operator. The type can be anything depending upon the context.this.actualValue
The actual value is calculated from theAssertionstable. This information is available to the custom response validator/operator. The type can be anything depending upon the context.this.expectedResponse
This contains the expected response for the test case. This information is retrieved after resolving all the variables and methods in theExpected Bodysection. The type will always be STRING.this.testcase
This contains all the information about the test case which you are currently executing. The structure ofthis.testcaseis as follows:{ "id": "STRING - Test Case ID", "testSuiteId": "STRING - Test Suite Name", "details": { "summary": "STRING - Test Case Summary", "description": "STRING - Test Case Description", "externalId": "STRING - Test Case External Id", "condition": "STRING - Test Case Condition", "loopSource": "STRING - Loop Source Field Value", "waitForSeconds": "Number - Value of Wait for Seconds field (Can be null)", "runnable": "Boolean - Runnable Flag" }, "validation": { "assertions": [ "OBJECT - `this.assertin` format", ... ], "expectedBody": { "content": "STRING - Expected Body Content", "type": "STRING - Expected Body Type" }, "expectedSchema": { "content": "STRING - Expected Schema Content", "type": "STRING - value will be json" } }, "request": { "url": "STRING - Test Case URL", "method": "STRING - Request Method", "headers": { "HEADER-NAME": "STRING - HEADER VALUE" }, "queryParams": [ { "name": "STRING - Query Parameter Name", "value": "STRING - Query Parameter Value" }, ... ], "body": { "content": "STRING - Request Body", "type": "STRING - Request Body Type", "formParams": [ { "name": "STRING - Form Parameter Name", "value": "STRING - Form Parameter Value" }, ... ] } }, "variables": [], "resultVariable": "STRING - Result Variable", "extensions": {}, "$data": {}, "hooks": [ "STRING - Local Hook Id 1", "STRING - Local Hook Id 2", ... ] }Please note that if you have specified any variables or invoked any utility methods, then
this.testcasewill never show you the resolved values. Its purpose is only to show you the information which you have specified.this.request
This contains all the information related to the current API request after all the variables and methods are resolved. This information is available when you invoke the utility methods in configuring theAuthorizations.
{
"url": "STRING - URL without Query Params",
"urlWithQuery": "STRING - URL with Query Params",
"method": "STRING - Request Method",
"headers": {
"REQUEST_HEADER_NAME": "STRING - HEADER_VALUE",
...
}
"queryParams": [
{
"name": "STRING - Query Parameter Name",
"value": "STRING - Query Parameter Value"
},
]
"body": {
"content": "STRING - Request Body",
"type": "STRING - Request Body Type",
"formParams": [
{
"name": "STRING - Form Parameter Name",
"value": "STRING - Form Parameter Value"
},
...
]
}
}