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.3 Para pegar os HEADERS:  ${RESPOSTA.headers}

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

Postagens mais visitadas deste blog

[ATUALIZADO] Season Libraries - Ep. 01: Library Faker para informações aleatórias e fakes

Novo Curso: Robot Framework com Playwright e GitHub Actions

Season WEB Testing - Ep. 03: Open Browser - Chrome Options