1 / 27

Modulo II Selenium

Modulo II Selenium. Professor Ismael H F Santos – ismael@tecgraf.puc-rio.br. Bibliografia. Introduction to Apache Maven 2 Tutorial ibm developerWorks: . Ementa. Traditional Build x Maven Build. Considerações.

wray
Download Presentation

Modulo II Selenium

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Modulo II Selenium Professor Ismael H F Santos – ismael@tecgraf.puc-rio.br Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1

  2. Bibliografia • Introduction to Apache Maven 2 • Tutorial ibm developerWorks: Prof. Ismael H. F. Santos 2

  3. Ementa • Traditional Build x Maven Build Prof. Ismael H. F. Santos 3

  4. Considerações • Selenium é uma framework de automação de testes de software para aplicações web. Os testes podem ser escritos em formato HTML ou codificados em várias linguagens de programação e podem ser executados diretamente nos browsers mais modernos. Selenium pode ser distribuído em sistemas Windows, Linux e Macintosh. Prof. Ismael H. F. Santos 4

  5. Considerações • Tipos de Testes Possíveis: • Teste de Aceitação ou Funcional; • Teste de Regressão; • Teste de Desempenho. • Ferramentas da framework: • Selenium IDE; • Selenium Remote Control; • Selenium Grid. Prof. Ismael H. F. Santos 5

  6. Prof. Ismael H. F. Santos 6

  7. Implementação • Para realizar testes com Selenium, é necessário seguir um processo básico: • Criação do script de interação usando o Selenium IDE. • Execução do script pela própria IDE ou através do Selenium Remote Control na linguagem de programação preferida. Prof. Ismael H. F. Santos 7

  8. Implementação • Para iniciar a criação de testes com Selenium, precisamos baixar e instalar o Selenium IDE: • Abra o browser Firefox 1.5.x, 2.x ou 3.x. Instale-o se necessário. (Obs.: A versão 2.x apresentou problemas com a última versão do Selenium IDE mas a versão 3.x funcionou corretamente)‏ Prof. Ismael H. F. Santos 8

  9. Implementação • Acesse a URL http://selenium-ide.openqa.org/download.jsp • Clique no link de download "Firefox extension" da versão mais recente. • Na janela de instalação do plugin, clique em [Install Now]. Aguarde o download terminar e clique no botão [Restart Firefox]. Com isso, o Firefox reiniciará e o Selenium IDE estará instalado. Prof. Ismael H. F. Santos 9

  10. Implementação • Podemos agora criar um script simples: • Na janela do Firefox, selecione o menu Tools > Selenium IDE. A janela do Selenium IDE será aberta em modo de gravação automaticamente. • Alterne para a janela do Firefox e acesse a URL http://www.google.com.br/ • Realize uma busca pelo texto "SENAC". Após o resultado ser exibido no browser, verifique a IDE e repare que os comandos foram gravados. Prof. Ismael H. F. Santos 10

  11. Implementação • Volte ao browser e acione o menu popup sobre o link "SENAC RIO" e selecione a opção "verifyTextPresent SENAC". Isso gravará um comando para verificação do texto "SENAC" na IDE. • Selecione a janela da IDE e clique no botão vermelho para parar a gravação. Com isso, temos um caso de teste gravado pela IDE. Prof. Ismael H. F. Santos 11

  12. Implementação • Com o script simples gravado, podemos reproduzir o caso de teste: • Na janela da IDE, clique no botão "Play current test case". • Repare que todos os passos executados anteriormente foram reproduzidos e ao final houve uma verificação de texto presente na página. Repare também que a linha do comando de verificação ficou verde, indicando sucesso na verificação. Prof. Ismael H. F. Santos 12

  13. Implementação • Com a reprodução do script, alcançamos o que é conhecido como teste funcional ou teste de aceitação. Podemos, em seguida, gravar o script para realizar o mesmo teste em outra ocasião: • Na janela da IDE, clique no menu File > Save Test Case. • Salve o script como "teste.selenium" em qualquer pasta. O arquivo pode ter qualquer extensão mas é conveniente usar uma extensão mais adequada. Prof. Ismael H. F. Santos 13

  14. Implementação • Feche a janela da IDE e o todos os browsers Firefox que ainda estiverem abertos para ter certeza que não existirá nada em memória. • Abra o Firefox novamente e o Selenium IDE novamente. • Na janela da IDE, abra o arquivo gravado anteriormente "teste.selenium" através do menu File > Open... • Execute o teste novamente clicando em "Play current test case". Repare que o teste foi reproduzido novamente. Prof. Ismael H. F. Santos 14

  15. Implementação • Com a execução de um script gravado anteriormente, alcançamos o que é conhecido como teste de regressão que verifica se as funcionalidades anteriormente testadas continuam executando da mesma forma. Este tipo de teste é adequado para testar novas versões de um software com o objetivo de garantir que as funcionalidades passadas não foram afetadas pelas novas mudanças. Prof. Ismael H. F. Santos 15

  16. Integração com Maven e Eclipse • Utilize uma distribuição do Eclipse 3.3 com o plugin M2Eclipse instalado. Iremos utilizar um plugin do Maven para executar o Selenium Remote Control. • O Selenium Remote Control é uma ferramenta de teste que permite escrever testes automatizados para aplicações web em qualquer linguagem de programação em cima de qualquer site HTTP usando qualquer browser com JavaScript habilitado. Prof. Ismael H. F. Santos 16

  17. Integração com Maven e Eclipse • O Selenium RC possui duas partes: • Um servidor que automaticamente abre e fecha browsers, e atua como um HTTP proxy para as requisições web. • Bibliotecas clientes para sua linguagem de programação favorita. Prof. Ismael H. F. Santos 17

  18. Prof. Ismael H. F. Santos 18

  19. Integração com Maven e Eclipse • Vamos agora usar o Selenium RC como plugin do Maven. Caso o Eclipse não esteja aberto, execute-o. Crie um projeto Maven com archetype quickstart: • Acesse o menu File > New > Project... • Escolha Maven Project e clique em Next. • Clique em Next novamente. • Escolha maven-archetype-quickstart na coluna Artifact Id e clique em Next. • Em Group Id, digite "br.senac" Prof. Ismael H. F. Santos 19

  20. Integração com Maven e Eclipse • Em Artifact Id, digite "testeSelenium" • Em Package, digite "br.senac" • Clique em Finish para criar o projeto. • Adicione o plugin do Selenium: • Clique com o botão direito do mouse sobre o projeto e acesse o menu Maven > Add Plugin. • Digite "selenium" para filtrar a lista de plugins. • Selecione "org.codehaus.mojo selenium-maven-plugin". • Clique em Ok. Prof. Ismael H. F. Santos 20

  21. Integração com Maven e Eclipse • O plugin foi adicionado. Basta abrir o pom.xml e verificar. • Vamos configurar o maven para iniciar o servidor do Selenium RC toda vez que a execução dos testes estiver para começar e parar o mesmo servidor depois que a execução dos testes terminar: • Abra o arquivo pom.xml no Eclipse com um clique duplo. Prof. Ismael H. F. Santos 21

  22. Integração com Maven e Eclipse • Clique na aba Plugins na parte inferior. • Selecione o plugin do Selenium na lista de plugins. • Na caixa Executions, clique no botão [Add...]. • Na caixa Execution Details, digite "start" no campo Id. • Selecione test-compile no campo Phase. • No campo Goals, clique em [Add...]. • Clique sobre o goal criado e digite "start-server". Prof. Ismael H. F. Santos 22

  23. Integração com Maven e Eclipse • Clique no link Configuration da caixa Execution Details. • Inclua a seguinte configuração nesta execução após a tag goals: <configuration> <background>true</background> </configuration> • Na caixa Executions, clique no botão [Add...]. • Na caixa Execution Details, digite "stop" no campo Id. Prof. Ismael H. F. Santos 23

  24. Integração com Maven e Eclipse • Selecione post-integration-test no campo Phase. • No campo Goals, clique em [Add...]. • Clique sobre o goal criado e digite "stop-server". • Salve o pom.xml. • Inclua a dependência para suporte a testes com Selenium. • Abra o menu popup sobre o projeto e escolha Maven > Add Dependency. • Digite "selenium" para filtrar as dependencias disponiveis. • Selecione org.apache.geronimo.testsupport Prof. Ismael H. F. Santos 24

  25. Integração com Maven e Eclipse • Abra o Selenium IDE novamente no Firefox. • Abra o arquivo "teste.selenium" anteriormente gravado. • Selecione o menu File > Export Test Case As... > Java - Selenium RC. • Salve como TesteSelenium.java em qualquer pasta. • Copie o arquivo TesteSelenium.java para o Eclipse na pasta src/test/java no pacote br.senac e abra o arquivo no editor do Eclipse. • Mude a package para br.senac Prof. Ismael H. F. Santos 25

  26. Integração com Maven e Eclipse • Renomeie NewTest para TesteSelenium. • Altere o método setUp para setUp("http://www.google.com.br/", "*iexplore"); • Salve o arquivo. • Para testar tudo, abra o menu popup sobre o projeto e selecione Run As > Maven install. • O Selenium RC abrirá o Internet Explorer e fará os testes. Ao final teremos a info de BUILD SUCCESSFUL. Prof. Ismael H. F. Santos 26

  27. Integração com Maven e Eclipse • Para causar uma falha, basta trocar a linha: verifyTrue(selenium.isTextPresent("SENAC")) por verifyTrue(selenium.isTextPresent("SENACFALHA"))‏ e executar novamente o Maven install. • Com isso, teremos uma falha porque o texto SENACFALHA não será encontrado. Prof. Ismael H. F. Santos 27

More Related