I have a login request and I want to assert a value from the response.
Here is this response:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns="https://TUI.io/ns/20110812">
<soap:Body>
<login_resp>
<zato_env>
<cid>K07FKWJTWZMCNFJJBNDQVMZTW4TQ</cid>
<result>TUI_OK</result>
</zato_env>
<item>
<response>{"timestamp": "2015-11-30T17:05:37Z", "data": {"file": null, "token": "16e5fd", "endpoints": [{"label": "app1", "branc": [{"url": "/app1/v1.0/", "name": "test", }]}}, "success": true}</response>
</item>
</login_resp>
</soap:Body>
</soap:Envelope>
Now I want to assert:
file = null
endpoints = [{"label": "app1", "branc": [{"url": "/app1/v1.0/", "name": "test", }]
I tried this:
// check for RequestId element in response
def holder = new XmlHolder( messageExchange.responseContentAsXml )
assert holder["//ns1:file"] != null
I have not been able to resolve class XmlHolder
.
Here is the groovy script, which will log the profile, endpoints
Similarly, you may query using
.
and json property any value as shown above.For ex, to get
timestamp
- you may use -json.timestamp
and to gettoken
,json.data.token
etc.,EDIT: Based comments - intended to use in script assertion to handle response dynamically.