Selenium: visão geral

8,744 views
8,561 views

Published on

Uma apresentação introdutória sobre o Selenium, um conjunto de ferramentas para apoio à execução de testes funcionais automatizados.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
8,744
On SlideShare
0
From Embeds
0
Number of Embeds
80
Actions
Shares
0
Downloads
211
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Selenium: visão geral

  1. 1. SELENIUM: visão geral Marcelo Andrade
  2. 2. Testes de software SELENIUM: visão geral
  3. 3. Testes de software Técnicas ● caixa preta ● caixa branca Fases ● Unitários ● Integração ● Sistema ● Desempenho ● Funcionais SELENIUM: visão geral
  4. 4. Selenium SELENIUM suíte de ferramentas para automatização de testes de aplicações web em múltiplas plataformas. http://seleniumhq.org SELENIUM: visão geral
  5. 5. Selenium SELENIUM suíte de ferramentas para automatização de testes de aplicações web em múltiplas plataformas. http://seleniumhq.org SELENIUM: visão geral
  6. 6. Selenium SELENIUM suíte de ferramentas para automatização de testes de aplicações web em múltiplas plataformas. Selenium IDE Selenium Core Selenium Remote-Control Selenium Grid ... SELENIUM: visão geral
  7. 7. Talk is cheap. Show me the code. SELENIUM: visão geral
  8. 8. Talk is cheap. Show me the code. SELENIUM: visão geral
  9. 9. Talk is cheap. Show me the code. 1. no campo “usuario” digitar “admin” SELENIUM: visão geral
  10. 10. Talk is cheap. Show me the code. 2. no campo “senha” digitar “123456” SELENIUM: visão geral
  11. 11. Talk is cheap. Show me the code. 3. clicar no botão “Confirmar” SELENIUM: visão geral
  12. 12. Talk is cheap. Show me the code. 4. verificar se surge na tela a indicação “USUÁRIO: ADMINISTRADOR DO SISTEMA” SELENIUM: visão geral
  13. 13. Talk is cheap. Show me the code. SELENIUM: visão geral
  14. 14. Talk is cheap. Show me the code. SELENIUM: visão geral
  15. 15. Considerações 1. É importante ter uma massa de dados de entrada conhecida Como saber se “admin/123456” o login deve ser efetuado ou não? O caso deveria ser de sucesso ou de falha? SELENIUM: visão geral
  16. 16. Considerações 1. É importante ter uma massa de dados de entrada conhecida Como saber se “admin/123456” o login deve ser efetuado ou não? O caso deveria ser de sucesso ou de falha? → scripts de automatização e versionamento de bancos de dados são chamados de fixtures. SELENIUM: visão geral
  17. 17. Considerações 2. É importante ter um padrão de código para interface conhecido Como alguém diferente do implementador saberia que o nome do botão “Confirmar” seria btnLogin? SELENIUM: visão geral
  18. 18. Considerações 2. É importante ter um padrão de código para interface conhecido Como alguém diferente do implementador saberia que o nome do botão “Confirmar” seria btnLogin? → bom uso da semântica e dos padrões web também impacta também em maior qualidade do código, melhor acessibilidade, usabilidade, etc. SELENIUM: visão geral
  19. 19. Considerações SELENIUM: visão geral
  20. 20. Considerações verificar se, neste local, aparece a palavra “Recursos” SELENIUM: visão geral
  21. 21. Considerações SELENIUM: visão geral
  22. 22. Seleniums SELENIUM: visão geral
  23. 23. Seleniums SELENIUM IDE É um ambiente de desenvolvimento integrado, disponível como plugin do Mozilla Firefox, utilizado para facilitar a geração de casos de teste em interfaces web. SELENIUM: visão geral
  24. 24. Seleniums SELENIUM: visão geral
  25. 25. Seleniums SELENIUM REMOTE-CONTROL É um servidor, escrito em Java, que é capaz de receber e interpretar as chamadas a comandos do Selenium e executá-las “ao vivo” dentro de um navegador web. SELENIUM: visão geral
  26. 26. Seleniums SELENIUM: visão geral
  27. 27. Seleniums SELENIUM CORE Trata-se apenas do núcleo, comum tanto ao Selenium IDE quanto ao RC. Interpreta os testes no formato HTML dinâmico. Tem a vantagem de permitir a execução de testes junto com a aplicação em outros ambientes além do de desenvolvimento. SELENIUM: visão geral
  28. 28. Seleniums SELENIUM CORE SELENIUM: visão geral
  29. 29. Seleniums SELENIUM CORE Trata-se apenas do núcleo, comum tanto ao Selenium IDE quanto ao RC. Interpreta os testes no formato HTML dinâmico. Tem a vantagem de permitir a execução de testes junto com a aplicação em outros ambientes além do de desenvolvimento. SELENIUM: visão geral
  30. 30. Seleniums SELENIUM CORE Trata-se apenas do núcleo, comum tanto ao Selenium IDE quanto ao RC. Interpreta os testes no formato HTML dinâmico. Tem a vantagem de permitir a execução de testes junto com a aplicação em outros ambientes além do de desenvolvimento. SELENIUM GRID Possibilita integrar vários Selenium RC em paralelo, permitindo a execução em escala. Útil para simular um ambiente mais próximo do real em testes de desempenho. SELENIUM: visão geral
  31. 31. Seleniums SELENIUM CORE Trata-se apenas do núcleo, comum tanto ao Selenium IDE quanto ao RC. Interpreta os testes no formato HTML dinâmico. Tem a vantagem de permitir a execução de testes junto com a aplicação em outros ambientes além do de desenvolvimento. SELENIUM GRID Possibilita integrar vários Selenium RC em paralelo, permitindo a execução em escala. Útil para simular um ambiente mais próximo do real em testes de desempenho. CUBIC TEST Similar ao Selenium IDE, mas integrado ao ambiente Eclipse. SELENIUM: visão geral
  32. 32. Alguns comandos do Selenium IDE SELENIUM: visão geral
  33. 33. Alguns comandos do Selenium IDE click(elemento) type(campo, valor) select(campo, opcao) ... → todos têm a versão “...AndWait” assertTextPresent(elemento, valor) assertTextNotPresent(elemento, valor) assertElementPresent(elemento) assertElementNotPresent(elemento) assertAlertPresent() assertAlertNotPresent() ... captureEntirePageScreenshot(arquivo, args) SELENIUM: visão geral
  34. 34. Alguns comandos do Selenium IDE click(elemento) type(campo, valor) select(campo, opcao) ... → todos têm a versão “...AndWait” assertTextPresent(elemento, valor) assertTextNotPresent(elemento, valor) assertElementPresent(elemento) assertElementNotPresent(elemento) assertAlertPresent() assertAlertNotPresent() ... captureEntirePageScreenshot(arquivo, args) http://seleniumhq.org/docs/04_selenese_commands.html SELENIUM: visão geral
  35. 35. Referências Página oficial do Selenium http://seleniumhq.org http://seleniumhq.org/docs/ http://seleniumhq.org/projects/ide/ http://seleniumhq.org/projects/remote-control/ http://selenium-grid.seleniumhq.org/ http://cubictest.seleniumhq.org/ Outras referências http://www.seuenium.com.br/ http://www.testexpert.com.br/?q=node/591 http://blog.caelum.com.br/2007/02/28/testes-de-aceitacao-com-o-selenium/ http://www.dicas-l.com.br/dicas-l/20080207.php http://gc.blog.br/tag/selenium/ http://blog.seatecnologia.com.br/tag/selenium http://en.wikipedia.org/wiki/Selenium_(software) http://www.google.com.br/search?q=selenium :-P SELENIUM: visão geral
  36. 36. OBRIGADO! SELENIUM: visão geral
  37. 37. OBRIGADO! MARCELO F ANDRADE marcelo.andrade@serpro.gov.br SELENIUM: visão geral

×