How to get Endpoint from the Request
SOLVED- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
How to get Endpoint from the Request
I wanna to get full Endpoint from the request. I passing endpoints dynamically for each step that I need to record it.
I tried below options to get complete url (Constant one + dynamically passed) but its just giving me only the constant endpoint
1) def endpoint = (testRunner.testCase.testSteps["GET"].testRequest.response.rawResponseData)
new String(endpoint)
The Output is something like this - [B@7f0b1367
2) def endpoint = (testRunner.testCase.getTestStepByName("GET").getTestRequest().getResponse().getRawRequestData())
new String(endpoint)
The output is something like this - [B@38b1c3e8
3) endpoint = testRunner.testCase.getTestStepByName("GET").getHttpRequest().getEndpoint()
Output is something like this - https://customer-tst.api-pa.com
4) endpoint = context.testCase.getTestStepByName('GET').getPropertyValue("Endpoint")
Output is something like this - https://customer-tst.api-pa.com
So basically I am failed to get complete URL. Can someone please help me to get a solution for this.
Solved! Go to Solution.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When I started to fetch the value like this only but I tried this with the Response specific value, It started to throw me the error
Script I use to get the response - GenerateToken#Response#$['data']['token']
The error I got is attached here. It seems like a syntax error which can work in the REST request parameter but not in the groovy script.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please attach the error you got.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is the error message I got :
Thu Jan 24 14:02:27 AEDT 2019:ERROR:org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script3.groovy: 29: unexpected token: data @ line 29, column 126.
'${GenerateToken#Response#$['data']['to
^
org.codehaus.groovy.syntax.SyntaxException: unexpected token: data @ line 29, column 126.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What are you trying to achieve here?
${GenerateToken#Response#$['data']['to
I suppose, GenerateToken is the 'Request Name' and you are fetching token out of them. Could you please share the xml/JSON from which you are trying to fetch the token?
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Here is the response in JSON format
{
"data" : {
"token" : "sidayf8r4jhrdsuf97adif09rujkfhw.8regiu6sy9s7d6fsa87s87439ykhkhfjdsbfsdf"
}
}
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok. Then, you can try this code:-
//Conside API_Name is name of the testStep. def response = context.expand('${API_Name#Response}') def token = response.data.token
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I tried below code
//Conside API_Name is name of the testStep. def response = context.expand('${API_Name#Response}') def token = response.data.token
but it is also throwing an error message:-
Thu Jan 31 14:46:44 AEDT 2019:ERROR:groovy.lang.MissingPropertyException: No such property: data for class: java.lang.String
This error message is coming for the last line def token = response.data.token
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You gave me this response right?
{ "data" : { "token" : "sidayf8r4jhrdsuf97adif09rujkfhw.8regiu6sy9s7d6fsa87s87439ykhkhfjdsbfsdf" } }
And I provided the code based on that. If you are getting the error. In that case, "data" attribute is not there in your response. You can pass the reponse to JsonSlurper. please ad few more lines of code:-
import groovy.json.JsonSlurper def slurper = new groovy.json.JsonSlurper()
def response = context.expand('${API_Name#Response}') def slurp = slurper.parseText(response)
def token = slurp.data.token //Considering "data" and "token" as JSON attributes.

- « Previous
-
- 1
- 2
- Next »
- « Previous
-
- 1
- 2
- Next »