Season API Testing - Ep. 02: Trabalhando com o Response da Requisição
Oláááá Robotizadores de API!!! Neste post trago as possibilidades de como obter as informações do Response para que você consiga utilizá-las e/ou conferi-las. Se você perdeu o nosso post nº 01 sobre API Testing com o Robot Framework, clica aqui e passa lá antes... Se já leu, então chega aqui...
01 - Armazenando o Response
Para armazenar o response você declara uma variável recebendo a resposta da requisição, como no exemplo abaixo:${RESPOSTA}= Get Request consultaCEP /cep
#FICAADICA: Se você precisar usar esse response em todo o teste/suíte, você pode configurá-lo para ser uma variável de teste ou suíte, exemplo:
Set Test Variable ${RESPOSTA}
Set Suite Variable ${RESPOSTA}
02 - Acessando o conteúdo do Response
Através da variável que você armazenou o response, use:02.1 Para pegar o STATUS CODE: ${RESPOSTA.status_code}
02.2 Para pegar o STATUS REASON: ${RESPOSTA.reason}
02.4 Para pegar o conteúdo do Body no seu formato original: ${RESPOSTA.content}
02.5 Para pegar o conteúdo do Body em texto: ${RESPOSTA.text}
02.6 Para pegar o conteúdo do Body em formato específico, exemplo JSON (supondo que o seu retorno é JSON): ${RESPOSTA.json()}
02.7 Para pegar atributos e valores de dentro do Body:
Vamos usar de exemplo o JSON abaixo:
"info": {
"version": "1.0.0",
"title": "Wikimedia REST API"
"license": {
"name": "Apache2",
"url": "http://www.apache.org/licenses/LICENSE-2.0"
}
"alias": ["server1","server2","server3"]
}
Para imprimir (usar no Log, por exemplo) o valor de "url" da "license", use:
Log ${RESPOSTA.json()["info"]["license"]["url"]}
Para obter (armazenar em uma variável, por exemplo) o valor de "url" da "license", use:
${URL}= Get from Dictionary ${RESPOSTA.json()["info"]["license"]} url
Seguindo nosso exemplo de JSON, ambos os comandos acima retornarão então "http://www.apache.org/licenses/LICENSE-2.0" (sem as aspas).
Se o valor estiver em um ARRAY, como o "alias" do exemplo acima, basta usar o número do indice desejado e as funções List da Collections:
${RESPOSTA.json()["info"]["alias"]["2"]}
Get from List ${RESPOSTA.json()["info"]["alias"]} 2
Ambos os comandos retornarão "server3" (sem as aspas).
E aí?? Fácil hein!!! Lembrando que em caso de dúvidas pode entrar em contato comigo ou deixe elas nos comentários!!!! Até a próxima robotizadores!
Comentários
Postar um comentário