contato@qualister.com.br
(48) 3285-5615
twitter.com/qualister
facebook.com/qualister
linkedin.com/company/qualister
Testes...
Palestrante
Júlio de Lima
Especialista em teste de software com ênfase em
automação de testes de software, possui formação...
Sobre a Qualister
• Fundada em 2007
• Mais de 1.000 clientes em todo o Brasil
• Mais de 50 cursos sobre teste de software
...
O que é REST?
O que é REST?
• É um estilo de arquitetura utilizado para
criação de APIs;
• Trabalha, geralmente, sobre o protocolo
HTTP/...
Como testar manualmente?
Como testar manualmente?
Utilizando cURL, um recurso disponível em
sistemas operacionais Unix através de linha de
comando,...
Como testar manualmente?
Então receberemos a seguinte resposta:
HTTP/1.1 200 OK
Date: Sun, 10 May 2015 02:03:04 GMT
Server...
Validando respostas
Validando resposta: Esquema
HTTP/1.1 200 OK
Date: Sun, 10 May 2015 02:03:04 GMT
Server: Apache/2.2.29 (Unix) mod_fastcgi/2...
Validando resposta: Corpo
HTTP/1.1 200 OK
Date: Sun, 10 May 2015 02:03:04 GMT
Server: Apache/2.2.29 (Unix) mod_fastcgi/2.4...
Validando resposta: Cabeçalho
HTTP/1.1 200 OK
Date: Sun, 10 May 2015 02:03:04 GMT
Server: Apache/2.2.29 (Unix) mod_fastcgi...
Rest-Assured
• É uma biblioteca escrita em Java criada para simplificar
testes de serviços baseados em REST;
• Ele é compa...
Rest-Assured
Exemplo de teste:
given()
.param(“nome", "Julio")
.when()
.get(“/")
.then()
.statusCode(200).
.body(“mensagem...
Componentes auxiliares
Componentes auxiliares
• Utilizaremos o Maven para tornar mais simples a
estruturação do projeto, dependências e execução ...
Hands-on!
Vídeo disponível em:
http://bit.ly/1QMZ3od
Workshop
Rest-Assured
Inscreva-se em
http://bit.ly/1EIMuSr
contato@qualister.com.br
(48) 3285-5615
twitter.com/qualister
facebook.com/qualister
linkedin.com/company/qualister
Palestra sobre automação de testes em APIs Rest com Rest-Assured
Próximos SlideShares
Carregando em…5
×

Palestra sobre automação de testes em APIs Rest com Rest-Assured

547 visualizações

Publicada em

Palestra de apresentação do framework Rest-Assured para automação de testes em API Rest, foram utilizados Maven e Unit para estruturação do projeto e testes.

Esta palestra e hands-on foram apresentados no evento #Testadores2015 em São Paulo.

Publicada em: Tecnologia
2 comentários
2 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
547
No SlideShare
0
A partir de incorporações
0
Número de incorporações
7
Ações
Compartilhamentos
0
Downloads
4
Comentários
2
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Palestra sobre automação de testes em APIs Rest com Rest-Assured

  1. 1. contato@qualister.com.br (48) 3285-5615 twitter.com/qualister facebook.com/qualister linkedin.com/company/qualister Testes em APIs REST com Rest-Assured Slides disponíveis em: http://bit.ly/1Hg4pUD
  2. 2. Palestrante Júlio de Lima Especialista em teste de software com ênfase em automação de testes de software, possui formação em Tecnologia da Informação e certificações internacionais (CTFL e CTAL-TM pelo ISTQB) e nacional (CBTS pela ALATS) julio.lima@qualister.com.br twitter.com/juliodelimas br.linkedin.com/in/juliodelimas
  3. 3. Sobre a Qualister • Fundada em 2007 • Mais de 1.000 clientes em todo o Brasil • Mais de 50 cursos sobre teste de software • Mais de 3.000 alunos formados • Áreas de atuação: • Consultoria na área de teste qualidade de software • Cursos • Revenda de ferramentas
  4. 4. O que é REST?
  5. 5. O que é REST? • É um estilo de arquitetura utilizado para criação de APIs; • Trabalha, geralmente, sobre o protocolo HTTP/HTTPS usando verbos POST, GET, PUT, DELETE, OPTIONS, PATCH e HEAD; • Utiliza respostas no formato JSON ou XML.
 [@fonte=http://rest.elkstein.org]
  6. 6. Como testar manualmente?
  7. 7. Como testar manualmente? Utilizando cURL, um recurso disponível em sistemas operacionais Unix através de linha de comando, podemos fazer uma requisição através do comando: curl -i -X GET “http://localhost: 8888/qualister-api/?nome=Julio" --user qualister:qualister [@fonte=http://curl.haxx.se/docs/httpscripting.html]
  8. 8. Como testar manualmente? Então receberemos a seguinte resposta: HTTP/1.1 200 OK Date: Sun, 10 May 2015 02:03:04 GMT Server: Apache/2.2.29 (Unix) mod_fastcgi/2.4.6 mod_wsgi/3.4 Python/2.7.8 PHP/5.6.2 mod_ssl/2.2.29 OpenSSL/0.9.8zd DAV/2 mod_perl/2.0.8 Perl/ v5.20.0 X-Powered-By: PHP/5.6.2 Content-Length: 280 Content-Type: application/json { "status":"success", “mensagem”:”Julio, seja bem-vindo a API da Qualister", “dados”: { "atuacao":["Treinamentos","Consultoria","Revenda de ferramentas"], "consultores": { "quantidade":5, "nomes":["Cristiano Caetano","Elias Nogueira","Julio de Lima","Marcio Cunha","Roberto Ungarelli"] } } }
  9. 9. Validando respostas
  10. 10. Validando resposta: Esquema HTTP/1.1 200 OK Date: Sun, 10 May 2015 02:03:04 GMT Server: Apache/2.2.29 (Unix) mod_fastcgi/2.4.6 mod_wsgi/3.4 Python/2.7.8 PHP/5.6.2 mod_ssl/2.2.29 OpenSSL/0.9.8zd DAV/2 mod_perl/2.0.8 Perl/ v5.20.0 X-Powered-By: PHP/5.6.2 Content-Length: 280 Content-Type: application/json { "status":"success", "mensagem”:”Seja bem-vindo a API da Qualister", “dados”: { "atuacao":["Treinamentos","Consultoria","Revenda de ferramentas"], "consultores": { "quantidade":5, "nomes":["Cristiano Caetano","Elias Nogueira","Julio de Lima","Marcio Cunha","Roberto Ungarelli"] } } } A resposta terá a propriedade “status" e o valor será do tipo string Essa propriedade deverá ser um Array! A resposta terá a propriedade “dados.atuacao” e não deverá ter itens duplicados
  11. 11. Validando resposta: Corpo HTTP/1.1 200 OK Date: Sun, 10 May 2015 02:03:04 GMT Server: Apache/2.2.29 (Unix) mod_fastcgi/2.4.6 mod_wsgi/3.4 Python/2.7.8 PHP/5.6.2 mod_ssl/2.2.29 OpenSSL/0.9.8zd DAV/2 mod_perl/2.0.8 Perl/ v5.20.0 X-Powered-By: PHP/5.6.2 Content-Length: 280 Content-Type: application/json { "status":"success", "mensagem”:”Seja bem-vindo a API da Qualister", “dados”: { "atuacao":["Treinamentos","Consultoria","Revenda de ferramentas"], "consultores": { "quantidade":5, "nomes":["Cristiano Caetano","Elias Nogueira","Julio de Lima","Marcio Cunha","Roberto Ungarelli"] } } } “status" deverá ser igual a "success" “dados.consultores.quantidade” deverá ser igual a 5 “dados.atuacao” deverá ter um item "Consultoria"
  12. 12. Validando resposta: Cabeçalho HTTP/1.1 200 OK Date: Sun, 10 May 2015 02:03:04 GMT Server: Apache/2.2.29 (Unix) mod_fastcgi/2.4.6 mod_wsgi/3.4 Python/2.7.8 PHP/5.6.2 mod_ssl/2.2.29 OpenSSL/0.9.8zd DAV/2 mod_perl/2.0.8 Perl/ v5.20.0 X-Powered-By: PHP/5.6.2 Content-Length: 280 Content-Type: application/json { "status":"success", "mensagem”:”Seja bem-vindo a API da Qualister", “dados”: { "atuacao":["Treinamentos","Consultoria","Revenda de ferramentas"], "consultores": { "quantidade":5, "nomes":["Cristiano Caetano","Elias Nogueira","Julio de Lima","Marcio Cunha","Roberto Ungarelli"] } } } “Status Code" deverá ser igual a 200
  13. 13. Rest-Assured • É uma biblioteca escrita em Java criada para simplificar testes de serviços baseados em REST; • Ele é compatível com os principais verbos, podendo simular requisições: POST, GET, PUT, DELETE, OPTIONS, PATCH e HEAD; • Possui mecanismos para validação do esquema, corpo e cabeçalho das requisições; • Utiliza a sintaxe de especificação por exemplos, o Given- When-Then, muito conhecida em testes dirigidos por comportamento (BDD). [@fonte=https://code.google.com/p/rest-assured/wiki/Usage]
  14. 14. Rest-Assured Exemplo de teste: given() .param(“nome", "Julio") .when() .get(“/") .then() .statusCode(200). .body(“mensagem", containsString("Julio")); Enviar o valor “Julio" pelo parâmetro "nome" Requisitar o path “/“ usando verbo GET Validar que o Status Code é 200 (Sucesso) Validar que a propriedade “mensagem" contem a string "Julio"
  15. 15. Componentes auxiliares
  16. 16. Componentes auxiliares • Utilizaremos o Maven para tornar mais simples a estruturação do projeto, dependências e execução dos testes.
 
 [@fonte=https://maven.apache.org] • O JUnit é um framework open-source utilizado para facilitar a criação dos testes automatizados. 
 
 [@fonte=http://junit.org]
  17. 17. Hands-on! Vídeo disponível em: http://bit.ly/1QMZ3od
  18. 18. Workshop Rest-Assured Inscreva-se em http://bit.ly/1EIMuSr
  19. 19. contato@qualister.com.br (48) 3285-5615 twitter.com/qualister facebook.com/qualister linkedin.com/company/qualister

×