Escolar Documentos
Profissional Documentos
Cultura Documentos
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