Hoje abordarei de forma rápida a utilização do Selenium WebDriver juntamente com o framework de teste unitário em Java.: JUnit. O objetivo principal do Webdriver é automatizar ações executadas em diversos browsers distintos, consumindo e utilizando seus recursos nativos. Já o JUnit permite a execução e validação de testes unitários a partir de testes reproduzidos no Webdriver do Selenium.
O Selenium WebDdriver, também conhecido como Selenium 2, nasceu da fusão entre as ferramentas Selenium RC e WebDriver, logo todas as deficiências encontradas no Selenium 1 foram supridas com a utilização dos recursos do WebDriver principalmente no que tange à independência de cada navegador, substituindo o JavaScript que era embutido nas aplicações testadas. Essa característica permite a criação e execução de testes mais robustos, além de um maior controle na automação e limites de segurança impostos pelo Javascript.
Para realizar o download do Selenium WebDriver, basta acessar o link.
Se você baixou o Eclipse para executar o teste no post anterior, a última versão dessa IDE já contempla o framework JUnit não havendo a necessidade de baixá-la. Caso contrário, você pode encontrá-lo no seguinte link.
Da mesma forma que o Selenium RC, é possível realizar testes no Selenium IDE e exportá-lo para linguagem de programação da sua preferência. Portanto, vamos executar uma ação simples no site de uma calculadora online desenvolvida pelo Elias Nogueira em um de seus desafios selenium e exportar o caso de teste como.: Java / Junit / WebDriver
Posteriormente, devemos dar continuidade com os seguintes passos.:
1 - Inserir arquivo webdriver no projeto (Obs.: Não há necessidade de levantar o Servidor Selenium RC)
2 - Importar classe gerada no selenium IDE ao projeto. A classe JUnit contém sempre um método que realiza ações básicas necessárias antes do teste (setUp()) e um método que realiza verificações posteriores a execução do teste (tearDown()).
3 - Realizar alterações no código e criar casos de teste conforme necessidade. No caso, realizei da seguinte forma.:
1°) Caso de Teste Ok
2°) Caso de Teste Nok - Resultado Numérico Errado
3°) Caso de Teste Nok - Resultado Alfanumérico
4°) Caso de Teste Nok - Resultado sem valor
5 - Executar teste (Download ucSoma.java)
6 - Analisar resultados
Abaixo estou disponibilizando alguns links interessantes com vasto conteúdo para ampliar o conhecimento de quem tiver maior interesse na ferramenta.:
Testar é garantir a informação!
terça-feira, 22 de abril de 2014
sexta-feira, 4 de abril de 2014
Selenium RC - "Flexibilidade na Automação de Testes"
O Selenium RC (Remote Control) permite a construção de testes mais complexos, pois possui uma estrutura básica que contém um servidor que atua como uma ponte para o browser e algumas bibliotecas específicas. Além disso, por suportar algumas linguagens de programação possui várias possibilidades de tratamentos, condicionais e utilização de recursos e comandos característicos de cada linguagem. No exemplo simples que criaremos no decorrer do post, iremos apenas mostrar a possibilidade de automação do teste utilizando uma linguagem de programação específica com o servidor do Selenium-RC startado. No caso, estarei utilizando a linguagem Java, portanto faz-se é necessário alguns pré-requisitos em seu computador.:
Download do Kit de Desenvolvimento Java
Download do Selenium RC
Download de uma IDE em Java*
*Não é obrigatório, mas facilita o desenvolvimento de posteriores aplicações e testes.
Após realizar todos os downloads e configurações iniciais, vamos criar um novo projeto no Eclipse.:
1°)Criar o projeto 'teste selenium rc' no Eclipse
2°)Criar a classe 'SeleniumRC' contendo o método principal
3°)Adicionar o arquivo java (.jar) do selenium RC ao projeto java
4°)Agora, existem algumas formas de iniciar o servidor do Selenium RC.
public class ServerRC {
public static void main(String[] args) {
SeleniumServer server = null;
//Iniciar Servidor Selenium
try {
server = new SeleniumServer();
server.start();
} catch (Exception e) {
System.out.println("Falha Servidor");
e.printStackTrace();
}
}
}
5°)Feito isto, o servidor já está iniciado e podemos construir qualquer espécie de teste utilizando recursos específicos de cada linguagem.
Agora, você poderá criar casos de testes com o Selenium IDE, salvar a suíte de teste (e os casos de teste) e executá-la com o TestRunner do Selenium. Para isso, digite a seguinte linha de código no prompt do Windows.: java -jar selenium-server.jar -multiwindow -htmlSuite "*firefox" "http://www.URLdoTeste.com" "C:\Selenium_Tests\Suite.html" "C:\Selenium_Tests\resultados.html". Após a execução do teste, verifique na pasta especificada o html gerado contendo os resultados da execução.
Você pode também, realizar alterações no código para necessidades específicas do teste. O anexo a seguir contém um exemplo simples no qual verifico se o campo de busca da Google existe na página principal e se sua altura e largura estão corretas (Para verificar algumas das propriedades em elementos das páginas, é interessante a utilização da ferramenta fireBug), feito isto realizo a busca quantas vezes o usuário achar necessário para o teste ou até o usuário digitar a mesma busca duas vezes consecutivas. Ao final do teste é gerado um log contendo o resultado das buscas de cada dado entrada no Google. Perceba que não estou utilizando nenhum framework de teste unitário, somente utilizo recursos do Java (estruturas de decisão, repetição, tratamento de erros e manipulação de arquivos) dentro do método principal da classe. Download - Arquivo Java
Veja abaixo na imagem o log final de execução dos testes.:
Testar é garantir a informação!
Download do Kit de Desenvolvimento Java
Download do Selenium RC
Download de uma IDE em Java*
*Não é obrigatório, mas facilita o desenvolvimento de posteriores aplicações e testes.
Após realizar todos os downloads e configurações iniciais, vamos criar um novo projeto no Eclipse.:
1°)Criar o projeto 'teste selenium rc' no Eclipse
2°)Criar a classe 'SeleniumRC' contendo o método principal
3°)Adicionar o arquivo java (.jar) do selenium RC ao projeto java
4°)Agora, existem algumas formas de iniciar o servidor do Selenium RC.
- Clicando duas vezes no arquivo do selenium-server
- Abrir o prompt do Windows, entrar no diretório no qual o selenium-rc foi baixado e digitar a seguinte linha de comando.: java -jar selenium-server-standalone-<version-number>.jar
- Criando uma classe em java contendo o seguinte código.:
public class ServerRC {
public static void main(String[] args) {
SeleniumServer server = null;
//Iniciar Servidor Selenium
try {
server = new SeleniumServer();
server.start();
} catch (Exception e) {
System.out.println("Falha Servidor");
e.printStackTrace();
}
}
}
5°)Feito isto, o servidor já está iniciado e podemos construir qualquer espécie de teste utilizando recursos específicos de cada linguagem.
Agora, você poderá criar casos de testes com o Selenium IDE, salvar a suíte de teste (e os casos de teste) e executá-la com o TestRunner do Selenium. Para isso, digite a seguinte linha de código no prompt do Windows.: java -jar selenium-server.jar -multiwindow -htmlSuite "*firefox" "http://www.URLdoTeste.com" "C:\Selenium_Tests\Suite.html" "C:\Selenium_Tests\resultados.html". Após a execução do teste, verifique na pasta especificada o html gerado contendo os resultados da execução.
Você pode também, realizar alterações no código para necessidades específicas do teste. O anexo a seguir contém um exemplo simples no qual verifico se o campo de busca da Google existe na página principal e se sua altura e largura estão corretas (Para verificar algumas das propriedades em elementos das páginas, é interessante a utilização da ferramenta fireBug), feito isto realizo a busca quantas vezes o usuário achar necessário para o teste ou até o usuário digitar a mesma busca duas vezes consecutivas. Ao final do teste é gerado um log contendo o resultado das buscas de cada dado entrada no Google. Perceba que não estou utilizando nenhum framework de teste unitário, somente utilizo recursos do Java (estruturas de decisão, repetição, tratamento de erros e manipulação de arquivos) dentro do método principal da classe. Download - Arquivo Java
Veja abaixo na imagem o log final de execução dos testes.:
Testar é garantir a informação!
Assinar:
Postagens (Atom)