SENAC – Curso de Pós-graduação em Engenharia de Software com J2EE Módulo: Web Application Interface - Turma 2 Prof. Ismael Selenium Componentes: Fábio Gomes Claver Pari Eni Conde Selenium é uma ferramenta para testar aplicações web pelo browser de forma automatizada. se refere ao teste de aceitação, que envolve rodar testes num sistema finalizado. Os testes rodam diretamente num browser, exatamente como o usuário faria. Para que serve o Selenium? - Para testar o código, em uma aplicação web. - Especificamente testar a camada de apresentação, o resultado final. - Para testar os custom tags (por exemplo erro.tag ou Select.tag). - Testar a compatibilidade entre diferentes browsers de forma automatizada. - Testar se a página renderizada tem o resultado desejado. O Selenium atende basicamente a duas tarefas : - Testar as funcionalidades da aplicação web. - Testar a compatibilidade entre browser e plataformas diferentes Componentes do Selenium: Dois componentes são importante para gerar e rodar testes com Selenium: - Selenium RC - Selenium IDE Componentes do Selenium: Selenium RC ( Remote Control) É uma ferramenta de teste que permite escrever aplicações web automatizadas em qualquer linguagem de programação, em qualquer website HTTP, utilizando qualquer browser habilitado para JavaScript. O Selenium RC possui duas partes: - Um servidor que automaticamente inicia e emula browsers, e age como um proxy HTTP para requisições web a partir dele. - Uma biblioteca de clientes para escolha da linguagem preferida. Componentes do Selenium: Arquitetura simplificada do Selenium RC Componentes do Selenium: Selenium RC ( Remote Control) é ideal para testar interfaces web complexas baseadas em AJAX sob sistemas de integração continuas. Também é uma ótima solução para usuários de Selenium Core ou de Selenium IDE que desejam escrever testes em uma linguagem de programação mais expressiva que o formato de tabela Selenese HTML habitualmente utilizada com o Selenium Core. Componentes do Selenium: O servidor Selenium RC também engloba o Selenium Core, e automaticamente carrega este no browser. O Selenium Core é um framework DHTML de execução de teste. Ele é um engine para o Selenium RC e Selenium IDE (modo driven), mas pode também ser enviado para o servidor da aplicação desejada. Componentes do Selenium: Selenium RC ( Remote Control) Selenium IDE É um ambiente de desenvolvimento integrado para testes do Selenium. É implementado como uma extensão (plug-in) do Firefox - Mozilla, e permite gravar, editar e corrigir testes. Inclui o Selenium Core, permitindo de modo fácil e rápido gravar e rever testes no ambiente real em que rodará. Selenium IDE não é somente uma ferramenta de gravação, é um IDE completo Selenium IDE Características: - Fácil gravação e revisão; - Seleção de campo inteligente utilizando nomes de identificação ou caminhos conforme necessário; -Opção de autocompletar para todos os comandos comuns do Selenium; - testes “walk throught”; - correção e ajuste de pontos de interrupção; - gravação de teste como HTML, Ruby Scripts, ou qualquer outro formato; - suporte para arquivos Selenium de extensão js. Componentes do Selenium: Integração com JUnit Vamos criar um teste de funcionalidade com Selenium e JUnit. Precisamos: - uma aplicação web - o selenium server - o selenium test client com junit Objetivo é testar um combo box numa página jsp. Vamos deixar o selenium abrir um browser, chamar a página e testar a combo box. Componentes do Selenium: A página do aplicação web Aqui tem uma página ( index.jsp) simples para testar a opção selecionada num combo box: <html> <head> <title>Selenium e JUnit HowTo</title> </head> <body> Size: <select name=”size”> <option id=”x-large”>X-Large</option> <option id=”large”>Large</option> <option id=”medium” selected>Medium</option> <option id=”small”>Small</option> <option id=”tiny”>Tiny</option> </select> </body> </html>