Automaçãode Testes de API Com Postman
Automaçãode Testes de API Com Postman
Testes de API
com Postman
Exploring Path
01 Apresentação
Conceitos iniciais
02 Testes, Automação de Teste, API, RESTful…
Utilizando o Postman
03 Reconhecimento, Rodando a primeira Requisição
Perguntas ???
05
Temas futuros
06 Acrescentando nossos testes no Build: Github + Travis CI + Postman + Heroku
Lucas Amaral
Quality Assurance
Portfólio GC/Adtalem
Brasil
Testes e Automação
Put things together
Conceitos Iniciais
Definindo o essencial
Automação
03 Utilização de software para desempenhar
ou dar suporte às atividades de teste Testes e
Automação
QA >>> Testes
Flame alert!
Antes de gerar flames sobre o conceito de testes exposto, lembre-se que QA >>> Testes
A propósito, leia ESTE ARTIGO
API, REST e RESTful
Put things together
API
Application Programming
API é um conjunto de rotinas e padrões de programação para acesso a um
aplicativo de software ou plataforma baseado na Web
Application Programming • SOAP é um Protocolo que utiliza HTTP para fazer chamadas no padrão RPC:
Interface Remote Procedure Call. Suporta somente XML
• HEADER
• BODY
• HTTP Status Codes
• HEADER
• BODY
Requests e Responses
Características de requests e responses
Tanto Request como Response são compostas basicamente pelas seções HEADER e
BODY. Cada uma possui uma série de atributos definidos no momento do desenvolvimento
e que dependem também do resource que está sendo requisitado.
https://www.getpostman.com
Interface do Postman
Sidebar
Collections
Conjunto de Requests
Folders
Mais uma forma de agrupar/organizer Requests
Requests
Requests a serem executadas
Detalhes da Request
Body, Header
Vamos aos
Testes
Quando
testamos a
API…
… estamos na parte
intermediária da Pirâmide
de Testes
Leia mais
Testes no Postman
Os testes no Postman são escritos em Javascript
Lodash
A modern JavaScript utility library
delivering modularity, performance
& extras
Cheerio
Crypto.js Fast, flexible, and lean implementa
JavaScript library of crypto standards tion of core jQuery designed specif
ically for the server.
Criando Testes
Aba “Test”, Bibliotecas e Assertion Functions
Your Text Here
You can simply impress your
audience and add a unique zing
and appeal to your Presentations.
A aba “Tests”
Nesta aba são escritos todos os testes relacionados à Request em
questão. Cada teste é especificado com a função:
pm.test(testName:String, specFunction:Function):Function
Principais
Objeto Response Objeto Request
Objetos pm.response request (read-only)
Objetos a manipuláveis .code:Number .url:Url
nos testes .reason():Function → String .headers:HeaderList
Link API .headers:HeaderList
.responseTime:Number
.text():Function → String
.json():Function → Object
Funções de Assertion – to.have
pm.expect(pm.response.json().length).to.equal(9)
pm.expect(pm.response.code).to.not.be.oneOf([300, 400,
500, 100])
Rodando Testes
Send e Runner
Runner
Executa a chamada de toda uma
Collections rodando os testes e
gerando o Report de testes
Obs: Os testes são executados a cada “Send” de uma request e são exibidos na aba
“Tests Results”
Questions?
Papo futuro
• Post da Sensedia sobre Testes de API, Postman e Newman
• https://sensedia.com/blog/apis/realizacao-de-testes-em-api-rest/
•
Material •
https://sensedia.com/blog/apis/o-que-sao-apis-parte-2-como-uma-api-funcio
na/
Instalando Node no Windows
• http://nodesource.com/blog/installing-nodejs-tutorial-windows/
Alguns links relevantes para essa • Importante para rodar o Newman
palestra • Documentação Newman
• https://www.npmjs.com/package/newman
• Marvel API
• https://developer.marvel.com/docs
• Mockando uma API
• https://mockaroo.com/
• API do Postman
• https://www.getpostman.com/docs/v6/
• https://www.getpostman.com/docs/v6/postman/scripts/postman_sandbox_a
pi_reference
• Outros resources:
• https://thecuriousdev.org/postman-test-api
• https://www.udemy.com/restful-apis/learn/v4/overview
• http://jsonplaceholder.typicode.com
• http://downloads.sensedia.com/webinar-design-de-apis-restful/
• https://onebitcode.com/api-completa-rails/
• + os links distribuídos pela apresentação
Vlw, flws
/doamaral in/lopesdoamaral