Mostrando postagens com marcador Selenium RC. Mostrar todas as postagens
Mostrando postagens com marcador Selenium RC. Mostrar todas as postagens

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.

    •  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.: 

import org.openqa.selenium.server.SeleniumServer;
 

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!

sexta-feira, 21 de março de 2014

Automação de Testes Funcionais com Selenium

Ultimamente, venho pesquisando com certa frequência as ferramentas para automação de testes de software disponíveis no mercado. Após uma longa pesquisa na internet, visualização de tutoriais, opiniões e experiências de profissionais da área, optei por estudar e testar a fundo a ferramenta Selenium.

Na realidade, o Selenium é um conjunto de ferramentas "Open Source" para automação de testes em aplicações web, suportando diversos browsers, plataformas e linguagens de programação. Além disso, sua flexibilidade possibilita ao profissional realizar testes funcionais, de regressão e até mesmo de desempenho.

No conjunto de ferramentas Selenium, encontramos os seguintes componentes.:

Selenium IDE.: É um plug-in para o Firefox que permite a captura e reprodução de ações realizadas pelo usuário no navegador.

Selenium RC.: Possui uma API e bibliotecas específicas para várias linguagens de programação, além de um servidor que atua como um proxy para requisições web. O Selenium RC, também chamado de Selenium 1, executa aplicações javascript dentro do navegador.

Selenium WebDriver.: A principal função é automatizar ações de usuários em qualquer navegador utilizando recursos nativos para controlá-lo de forma direta, possibilitando adequação do código-fonte para qualquer necessidade específica juntamente com a integração de algum framework de testes unitários (como por exemplo, o JUnit). Pode-se dizer que é uma evolução do Selenium RC.

Selenium Grid.: Possibilita a distribuição de testes em diversas máquinas para execução em paralelo.



Nos próximos posts, passarei a detalhar a instalação, configuração e a utilização de cada um dos componentes do Selenium. A idéia é explicar de forma simples o conceito de cada componente com exemplos práticos associados.

Testar é garantir a informação!