1. Automação de API
com Robot:
Conferindo a API
superheroapi
Criado por Thaiana Lopes
Revisões por Thiago Oliveira e Débora da Silva
2. Você vai precisar de:
01
Library ExtendedRequestsLibrary02
Library Collections03
Token da API SuperHero
3. Escrevendo o cenário
Dado que obtive permissão junto ao J.A.R.V.I.S.
Quando procuro pelos dados secretos do homem de ferro
Então no response o atributo "biography" está presente
E o conteúdo apresentado no atributo Full-name é "Tony Stark"
E o seus aliados são "Iron Knight", "Cobalt Man II", "Hogan Potts"
E o nível de inteligência encontrada é "90"
4. Estrutura do teste
Autenticação na API Dado que obtive permissão junto ao J.A.R.V.I.S.
Get Request Quando procuro pelos dados secretos do homem de ferro
Validações no response
Então no response o atributo "biography" está presente
E o conteúdo apresentado no atributo Full-name é "Tony Stark"
E o seus aliados são "Iron Knight", "Cobalt Man II", "Hogan Potts"
E o nível de inteligência encontrada é "90"
5. Autenticação na API
● Library ExtendedRequestsLibrary
Dado que obtive permissão junto ao J.A.R.V.I.S.
obtive permissão junto ao J.A.R.V.I.S.
Create Session label=J.A.R.V.I.S. base_url=https://www.superheroapi.com/api.php/3045712542120919
6. Get Request
● Library ExtendedRequestsLibrary
Quando procuro pelos dados secretos do
homem de ferro
procuro pelos dados secretos do homem de ferro
${INFO_HERO} Get Request label=J.A.R.V.I.S. uri=/346
Should Be Equal As Strings ${INFO_HERO.status_code} 200
Set Test Variable ${INFO_HERO} ${INFO_HERO.json()}
7. Validações no response
● Library Collections
Então no response o atributo "biography" está presente
E o conteúdo apresentado no atributo Full-name é "Tony
Stark"
no response o atributo "${ATRIBUTO}" está presente
Dictionary Should Contain key ${INFO_HERO} ${ATRIBUTO}
o conteúdo apresentado no atributo Full-name é "${NOME}"
Dictionary Should Contain Item ${INFO_HERO['biography']} full-name ${NOME}
8. Validações no response
● Library Collections
E o seus aliados são "Iron Knight", "Cobalt Man II",
"Hogan”
o seus aliados são "${POSICAO_0}", "${POSICAO_1}", "${POSICAO_3}”
Log ${INFO_HERO['biography']['aliases']}
List Should Contain Value ${INFO_HERO['biography']['aliases']} ${POSICAO_0}
List Should Contain Value ${INFO_HERO['biography']['aliases']} ${POSICAO_1}
Should Be Equal As Strings ${INFO_HERO['biography']['aliases'][3]} ${POSICAO_3}
(verificação de valor em lista, especificando posição ou não)
9. Validações no response
● Library BuiltIn
E o nível de inteligência encontrada é "90"
o nível de inteligência encontrada é "${INTELIGENCIA}"
Should Be Equal As Strings ${INFO_HERO['powerstats']['intelligence']} ${INTELIGENCIA}
10. Dúvidas?
● GitHub com mais desafios: thaianalps/superhero
● LinkedIn: thaianalps
● Trabalhe na Agriness: aqui