Palestra Rest-Assured com Maven e JUnit

641 visualizações

Publicada em

1) Tópicos que serão abordados:

- O que é REST?
- Como testar manualmente?
- Validando respostas (Esquema, Corpo e Cabeçalho)
- Sobre o Rest-Assured
- Componentes auxiliares
- Hands-On

2) O Hands-On demonstrará, na prática:

- Como montar o ambiente para utilização da ferramenta
- Como criar um novo projeto
- Criando um novo teste
- Executando os testes
- Analisando os relatórios

Assista o Hands-on aqui:
http://bit.ly/1QMZ3od

Publicada em: Tecnologia
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
641
No SlideShare
0
A partir de incorporações
0
Número de incorporações
7
Ações
Compartilhamentos
0
Downloads
5
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Palestra Rest-Assured com Maven e JUnit

  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

×