Season API Testing — Ep. 01: Testes de API com o Robot Framework

Neste post lhes mostrarei outro tipo de teste possível de se automatizar com o Robot Framework: teste de API!!!! Então bora lá… Lembrando que esse post é escrito para quem já sabe como testar uma API, se você ainda não sabe o que é uma API, dá uma pesquisadinha básica antes e pula aqui depois!!

01 — A library Requests

Para automatizar os nossos testes de API, vamos precisar instalar e instanciar a library Requests:

pip install -U robotframework-requests

02 — Estudando as libraries necessárias

Como citei no post sobre libraries (se você não leu ainda, corre lá e depois volta), precisamos estudar a library para conhecer e saber como usar as funções que ela disponibiliza.
 
Para nosso exemplo utilizo a library Requests para realizar as funções em relação a API e também a Collections para me ajudar nas conferências dos retornos que são JSON. 
 
Também utilizo a library implícita BuiltIn a qual pertencem as keywords Log, Set Test Variable e Should Be Equal As Strings.

03 — Criando a sessão com a API

Vamos criar a keyword que irá conectar à API, no meu exemplo chamei de “Conecta ao WebService” e nela usei a keyword da library Requests chamada Create Session e passei como parâmetros um alias para essa minha API e o HOST, que fora declarado na seção Variables:

04 — Fazendo chamadas à API

A API que utilizo de exemplo realiza consultas de CEP e preciso chamá-la no seguinte padrão:

https://webmaniabr.com/api/1/cep/88056-000/?app_key= njMf2EiyQ17g6C3vLUxk1yEsWTforVqf&app_secret=EgpTuUcM93IqHY8icgR3cK6Cn4bOlkQwSlfLd6ryMjrhhwMW

Vamos criar a keyword que irá fazer chamadas à API, no meu exemplo chamei de “Realiza requisição do CEP” e nela usei a keyword da library Requests chamada Get Request e passei como parâmetros o alias da sessão criada para essa minha API e o EndPoint:

A resposta da minha requisição é armazenada na variável ${RESPOSTA} e ela eu configuro para ser uma Test Variable, ou seja, poderei utilizar o seu valor nos demais testes subsequentes. Principalmente nas conferências.

05 — Fazendo as conferências

A API que utilizo como exemplo retorna um JSON, e para conferi-lo utilizo a keyword Dictionary Should Contain Item da library Collections, onde passo o response body em JSON e o valor esperado:

Também confiro o STATUS CODE através da keyword Should Be Equal As Strings da BuiltIn.

#FICAADICA: Mais detalhes sobre como acessar o conteúdo do RESPONSE da API estão no post [Season API Testing — Ep. 02: Trabalhando com o Response da Requisição]

06 — Exemplo de TestCase

Essa parte é livre, você pode escrever em BDD como eu fiz ou procedural, etc. Aqui é só um exemplo que eu fiz… Se não entendeu esse meu exemplo volta e dá uma lidinha no post sobre BDD!!!

Claro robotizadores que esses exemplos não estão completos, estou apenas mostrando os trechos importantes para se fazer um teste de API, as instruções restantes já foram ensinadas em outros posts.

Para ver na íntegra esse exemplo, baixe meu projeto de exemplos no GitHub!!!

É isso aí robotizadores!!! Bora praticar testes de API também!!!


Originally published at robotizandotestes.blogspot.com.