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!
Mostrando postagens com marcador Selenium. Mostrar todas as postagens
Mostrando postagens com marcador Selenium. Mostrar todas as postagens
terça-feira, 22 de abril de 2014
segunda-feira, 24 de março de 2014
Selenium IDE - "Automação simples na prática!"
Conforme já havia informado anteriormente, passarei a postar de forma simples a utilização de cada ferramenta do Selenium. Portanto, neste post vamos explorar algumas funcionalidades do Selenium IDE, mas antes é interessante sabermos algumas características desta ferramenta.:
Após realizar o download e instalá-lo, o Selenium já estará acessível no menu principal do Firefox na opção 'Ferramentas'.
Ao executar o Selenium, sua interface se apresentará da seguinte forma.:
Legenda.:
1. Página da aplicação a ser testada
2. Velocidade da execução do teste
3. Executa uma suíte de teste
4. Executa um caso teste único
5. Possibilita a definição de regras de agrupamento
6. Suíte de Casos de Teste
7. Lista de comandos (Tabela.: Comandos Selenium / Código-fonte.: Linguagem de programação específica)
8. Botão Gravar.: Ao executar o Selenium, o botão já é acionado automaticamente.
9. Campo Comando.: Nome que representa sua funcionalidade (obviamente, em inglês) e o mesmo pode ser obtido de três formas distintas.:
11. Campo Valor.: intuitivamente sabemos que é o conteúdo associado que terá cada comando quando necessário.
12. Resultado da execução
13. Log de execução
14. Descrições do comando (Reference / UI-Element), são extramente úteis no decorrer da utilização
Agora vamos começar um teste simples de uma busca pelo 'Selenium 2' no Google. Simplesmente entraremos no Google, digitaremos 'selenium 2' na caixa de texto de busca e clicaremos no botão com a lupa representada. Perceba que esta ação, gerou três comandos específicos no Selenium.:
Open.: Abertura da página web
Type.: Entrada de dados
click.: Ação do usuário clicanco na lupa do google
Pois bem, agora sim começa a "brincadeira" e a partir destes conceitos acima descritos já é possível ir testando e descobrindo a ferramenta. No caso, realizei a inclusão de alguns comandos simples apenas para dar a noção das possibilidades que a ferramenta fornece ao testador.
No link a seguir, estou fornecendo o arquivo do teste para que você realize em sua máquina e o altere conforme sua necessidade para realização de quantos testes julgar necessário. Neste exemplo de teste, para cada comando inseri comentários que descrevem sua funcionalidade e necessidade dentro da aplicação. Download - Teste Busca Google
É importante frisar que as abas 'Mensagens' e 'Reference' são extremamente úteis para elaboração e adequação dos testes, pois indicam os pontos de erros e demonstram claramente a funcão de cada comando. Além disso, os comandos de ponto de início, breakpoint e a possibilidade de regular a velocidade da execução (Fast/Slow) auxiliam na reprodução do teste.
Para finalizar, um grande entusiasta do Selenium na internet, Elias Nogueira, criou alguns desafios que possibilitam o usuário conhecer a ferramenta um pouco mais. Vale a pena conferir.:
Testar é garantir a informação!
- É um plugin do Firefox que possibilita a automação de testes funcionais, logo será necessário que você possua este browser
- A utilização é intuitiva, simples e não há a obrigatoriedade de domínio de alguma linguagem de programação
- Possui comandos específicos chamados "Selenese" que basicamente são divididos em três categorias.: Actions (Operações que o usuário realiza na página web), Accessors (Armazena valores em variáveis, após a análise do estado em que a aplicação se encontra) e Assertions (Verifica o comportamento e se o resultado final da aplicação foi realizado conforme esperado).
Após realizar o download e instalá-lo, o Selenium já estará acessível no menu principal do Firefox na opção 'Ferramentas'.
Ao executar o Selenium, sua interface se apresentará da seguinte forma.:
Legenda.:
1. Página da aplicação a ser testada
2. Velocidade da execução do teste
3. Executa uma suíte de teste
4. Executa um caso teste único
5. Possibilita a definição de regras de agrupamento
6. Suíte de Casos de Teste
7. Lista de comandos (Tabela.: Comandos Selenium / Código-fonte.: Linguagem de programação específica)
8. Botão Gravar.: Ao executar o Selenium, o botão já é acionado automaticamente.
9. Campo Comando.: Nome que representa sua funcionalidade (obviamente, em inglês) e o mesmo pode ser obtido de três formas distintas.:
- Realizando a ação manualmente na página após clicar no botão 'Record' de gravação
- Clicando com o botão direito na página web e vendo a lista de comandos possíveis que o selenium disponibiliza
- Inserindo manualmente na própria ferramenta, clicando com o botão direito na aba 'Tabela'
11. Campo Valor.: intuitivamente sabemos que é o conteúdo associado que terá cada comando quando necessário.
12. Resultado da execução
13. Log de execução
14. Descrições do comando (Reference / UI-Element), são extramente úteis no decorrer da utilização
Agora vamos começar um teste simples de uma busca pelo 'Selenium 2' no Google. Simplesmente entraremos no Google, digitaremos 'selenium 2' na caixa de texto de busca e clicaremos no botão com a lupa representada. Perceba que esta ação, gerou três comandos específicos no Selenium.:
Open.: Abertura da página web
Type.: Entrada de dados
click.: Ação do usuário clicanco na lupa do google
Pois bem, agora sim começa a "brincadeira" e a partir destes conceitos acima descritos já é possível ir testando e descobrindo a ferramenta. No caso, realizei a inclusão de alguns comandos simples apenas para dar a noção das possibilidades que a ferramenta fornece ao testador.
No link a seguir, estou fornecendo o arquivo do teste para que você realize em sua máquina e o altere conforme sua necessidade para realização de quantos testes julgar necessário. Neste exemplo de teste, para cada comando inseri comentários que descrevem sua funcionalidade e necessidade dentro da aplicação. Download - Teste Busca Google
É importante frisar que as abas 'Mensagens' e 'Reference' são extremamente úteis para elaboração e adequação dos testes, pois indicam os pontos de erros e demonstram claramente a funcão de cada comando. Além disso, os comandos de ponto de início, breakpoint e a possibilidade de regular a velocidade da execução (Fast/Slow) auxiliam na reprodução do teste.
Para finalizar, um grande entusiasta do Selenium na internet, Elias Nogueira, criou alguns desafios que possibilitam o usuário conhecer a ferramenta um pouco mais. Vale a pena conferir.:
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!
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!
Assinar:
Postagens (Atom)
