API Test Automation

Hello Everyone,

Regarding API automation, Can we check the body contents of an API response PLZ.
Exemple :

{ “id”: 187, “creationUser”: “Testtest”, “creationRemoteUser”: “TEst”, “cancelRemoteUser”: null, … }

If yes how can we do it?
FYI : I’m not talking about the response Status: 200, 400, 500, …

Best Regards,
Morad

Hi Morad,

Which library are you using to call the api? The answer to your question will vary depending on the library.

If you can show an example of how your calling the api i’ll try to show how you could modify your code to get the response.

Dave.

Hello Dave,
Thanks for your replay.
You will find below an exemple of an api call :

${json_string}= catenate
… {
… “rtnId”: “0123654788”,
… “individualAddress”:{
… “firstName”:“Morad”,
… “lastName”:“Amchari”,
… “title”:“M”,
… “addr1”:“4, rue du Clair Bocage”,
… “addr2”:“B3”,
… }
${body} = evaluate json.loads(‘’‘${json_string}’‘’) json
${response} = POST /pull ${body}

Hi Morad,

You didn’t really answer the question, are you using POST from Requests library?

If yes, you don’t really need ${body} = evaluate json.loads(‘’‘${json_string}’‘’) json you can simply do this:

${json_string}=    catenate
… {
… "rtnId": "0123654788",
… "individualAddress":{
… "firstName":"Morad",
… "lastName":"Amchari",
… "title":"M",
… "addr1":"4, rue du Clair Bocage",
… "addr2":"B3",
… }
${response}=    POST    https://your.host/pull    json=${json_string}

But if you want to just pass the path and not the host details you should probably use POST On Session after creating your session with Create Session

Also be careful with your double quotes (some windows programs mess them up is not the same as " and is not valid JSON.

Dave.

Hi Dave,
Sorry for the missing response, Yes exactly i use :

Library RequestsLibrary

After the launch of this API request i receive two Data’s,

Response status: 200
Body :
{ “id”: 187, “creationUser”: “MoradAM”, “creationRemoteUser”: “Robot”, “cancelRemoteUser”: null, … }

My question is how can i check the contains of the Body.

Regards,
Morad

This YouTube video shows how to validate API response body content:

Part 3- POST Request | Rest API Testing using Robot Framework

2 Likes

Thank you So much.
Appreciate that

Hi Morad,

You can also refer to Response Object in the RequestsLibrary documentation ${response.json()} should give you a dictionary that you can test i.e.

Should Be Equal As Integers	${response.json()}['id']	187
Should Be Equal As Strings	${response.json()}['creationUser']	MoradAM

Dave.

1 Like

Hello Dave

Thank you for the response and your time regarding this topic.

Regrads,
Morad

1 Like