Download pdf - Selenium: visão geral

Transcript
Page 1: Selenium: visão geral
Page 2: Selenium: visão geral

SELENIUM:visão geral

Marcelo Andrade

Page 3: Selenium: visão geral

Testes de software

SELENIUM: visão geral

Page 4: Selenium: visão geral

Testes de software

SELENIUM: visão geral

Técnicas● caixa preta● caixa branca

Fases● Unitários● Integração● Sistema● Desempenho● Funcionais

Page 5: Selenium: visão geral

Selenium

SELENIUM: visão geral

SELENIUMsuíte de ferramentas para automatização de testes de aplicações web em múltiplas plataformas.

http://seleniumhq.org

Page 6: Selenium: visão geral

Selenium

SELENIUM: visão geral

SELENIUMsuíte de ferramentas para automatização de testes de aplicações web em múltiplas plataformas.

http://seleniumhq.org

Page 7: Selenium: visão geral

Selenium

SELENIUM: visão geral

SELENIUMsuí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 ...

Page 8: Selenium: visão geral

Talk is cheap. Show me the code.

SELENIUM: visão geral

Page 9: Selenium: visão geral

Talk is cheap. Show me the code.

SELENIUM: visão geral

Page 10: Selenium: visão geral

Talk is cheap. Show me the code.

SELENIUM: visão geral

1. no campo “usuario” digitar “admin”

Page 11: Selenium: visão geral

Talk is cheap. Show me the code.

SELENIUM: visão geral

2. no campo “senha” digitar “123456”

Page 12: Selenium: visão geral

Talk is cheap. Show me the code.

SELENIUM: visão geral

3. clicar no botão “Confirmar”

Page 13: Selenium: visão geral

Talk is cheap. Show me the code.

SELENIUM: visão geral

4. verificar se surge na tela a indicação “USUÁRIO: ADMINISTRADOR DO

SISTEMA”

Page 14: Selenium: visão geral

Talk is cheap. Show me the code.

SELENIUM: visão geral

Page 15: Selenium: visão geral

Talk is cheap. Show me the code.

SELENIUM: visão geral

Page 16: Selenium: visão geral

Considerações

SELENIUM: visão geral

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?

Page 17: Selenium: visão geral

Considerações

SELENIUM: visão geral

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.

Page 18: Selenium: visão geral

Considerações

SELENIUM: visão geral

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?

Page 19: Selenium: visão geral

Considerações

SELENIUM: visão geral

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.

Page 20: Selenium: visão geral

Considerações

SELENIUM: visão geral

Page 21: Selenium: visão geral

Considerações

SELENIUM: visão geral

verificar se, neste local, aparece a palavra “Recursos”

Page 22: Selenium: visão geral

Considerações

SELENIUM: visão geral

Page 23: Selenium: visão geral

Seleniums

SELENIUM: visão geral

Page 24: Selenium: visão geral

Seleniums

SELENIUM: visão geral

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.

Page 25: Selenium: visão geral

Seleniums

SELENIUM: visão geral

Page 26: Selenium: visão geral

Seleniums

SELENIUM: visão geral

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.

Page 27: Selenium: visão geral

Seleniums

SELENIUM: visão geral

Page 28: Selenium: visão geral

Seleniums

SELENIUM: visão geral

SELENIUM CORETrata-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.

Page 29: Selenium: visão geral

Seleniums

SELENIUM: visão geral

SELENIUM CORE

Page 30: Selenium: visão geral

Seleniums

SELENIUM: visão geral

SELENIUM CORETrata-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.

Page 31: Selenium: visão geral

Seleniums

SELENIUM: visão geral

SELENIUM CORETrata-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 GRIDPossibilita 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.

Page 32: Selenium: visão geral

Seleniums

SELENIUM: visão geral

SELENIUM CORETrata-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 GRIDPossibilita 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 TESTSimilar ao Selenium IDE, mas integrado ao ambiente Eclipse.

Page 33: Selenium: visão geral

Alguns comandos do Selenium IDE

SELENIUM: visão geral

Page 34: Selenium: visão geral

Alguns comandos do Selenium IDE

SELENIUM: visão geral

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)

Page 35: Selenium: visão geral

Alguns comandos do Selenium IDE

SELENIUM: visão geral

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

Page 36: Selenium: visão geral

Referências

SELENIUM: visão geral

Página oficial do Seleniumhttp://seleniumhq.orghttp://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ênciashttp://www.seuenium.com.br/http://www.testexpert.com.br/?q=node/591http://blog.caelum.com.br/2007/02/28/testes-de-aceitacao-com-o-selenium/http://www.dicas-l.com.br/dicas-l/20080207.phphttp://gc.blog.br/tag/selenium/http://blog.seatecnologia.com.br/tag/seleniumhttp://en.wikipedia.org/wiki/Selenium_(software)http://www.google.com.br/search?q=selenium :-P

Page 37: Selenium: visão geral

SELENIUM: visão geral

OBRIGADO!

Page 38: Selenium: visão geral

SELENIUM: visão geral

OBRIGADO!

MARCELO F [email protected]