Introdução ao Selenium IDE

Selenium IDEOlá pessoal,

Essa semana começaremos a colocar um pouco a mão na massa. Neste primeiro post iremos fazer uma introdução ao Selenium IDE e na semana que vem trabalharemos em um exemplo prático de cenário de teste.

O Selenim IDE é um projeto open source desenvolvido para automatizar testes em páginas WEB. Ele é um add-on para Firefox, que usa o mesmo sistema de instalação de qualquer plug-in. O Selenium IDE captura, através de gravação, todas as ações feitas pelo testador e gera um script de teste, onde é possível reexecutar todas as ações que o testador desejar.

Como instalar o Selenium IDE?

Para baixá-lo basta acessar a página do Selenium através do link http://seleniumhq.org/download/ e seguir os passos para a instalação do add-on no Firefox.

Funcionalidades do Selenium IDE

Após a instalação podemos facilmente abri-lo pelo menu Firefox > Desenvolvedor web > Selenium IDE ou Ferramentas > Selenium IDE, dependendo do sistema operacional que você está utilizando.

Selenium IDE

O Selenium IDE é dividido em três partes:

  • Toolbar;
  • Test Case;
  • Informações do Script;

Toolbar

A toolbar possui diversas funcionalidades, a saber:

Selenium IDE Toolbar

Selenium IDE Speed ControlSpeed Control: controla o quão rápido será a execução do script.

Selenium IDE Run AllRun All: executa os múltiplos casos de teste contidos numa suíte de teste.

Selenium IDE RunRun: executa o caso de teste selecionado. Quando há apenas um caso de teste criado o botão Run All funciona do mesmo modo que o Run.

Selenium IDE Resume/PausePause/Resume: permite parar e reiniciar a execução do caso de teste.

Selenium IDE Step IntoStep: habilita a execução de cada passo e deve ser utilizado apenas para questões de debug.

Selenium IDE Apply Rollup RulesApply Rollup Rules: funcionalidade que permite a criação de tarefas repetitivas utilizando os comandos do Selenium em uma única ação.

Selenium IDE SchedulerTurn Test Scheduler on/off: funcionalidade que permite executar os scripts de forma agendada.

Selenium IDE RecorderRecord: grava as ações do usuário no browser.

Test Case

Selenium IDE Test Case

O Test Case é dividido em duas partes:

  • Painel Test Case
  • Abas Tabela e Código-fonte

O painel Test Case exibe o caso de teste atual ou o conjunto de casos de teste (que irá configurar indiretamente uma suíte de teste).

Abas Tabela e Código-fonte irão exibir os comandos do Selenium e o código-fonte HTML dos comandos, respectivamente.

Há três colunas e três campos referentes a cada coluna:

  • Comando: o comando executado pelo Selenium IDE;
  • Alvo: geralmente um elemento HTML;
  • Valor: quando o Alvo for um elemento HTML o Valor pode ser o texto de comparação ou um texto para digitação, dependendo do comando;

Informações do script

Selenium IDE - ScriptInfo

Esta sessão nos dá informações sobre diversos itens do script. Ela é dividida da seguinte forma:

  • Aba Mensagem: apresenta as informações de execução do script de teste e sobre erros.
  • Aba Reference: apresenta a documentação de todos os comandos do Selenium, chamado de Selenese.
  • Aba UI-Element: é uma funcionalidade onde podemos fazer o mapeamento entre nomes de elementos em uma página web.
  • Aba Rollup: apresenta os comandos que foram agrupados através da funcionalidade Rollup Rules.

Como gravar ações no Selenium IDE?

É possível criar os casos de teste a partir da gravação das interações do testador com o website. Assim que o Selenium é iniciado, a gravação já está ligada e tudo o que for feito no website será gravado para que, posteriormente, essa gravação seja executada efetuando assim a automação do teste.

Durante a gravação, comandos serão incluídos no caso de teste de acordo com as ações executadas pelo testador como, por exemplo, clique em links e inserção de valores. As ações gravadas são cliques em links, digitação de valores em caixas de texto, cliques em checkbox ou radio buttons e seleção de dados em uma combobox ou list.

Verificação de Resultados

Após a gravação inicial do script é necessário colocar os pontos de controle, ou seja, os resultados esperados para garantir que o script tenha executado com sucesso. Essa checagem precisa ser efetuada através de comandos de verificação e asserção (assert).

  • Verificação (verify): verifica se o resultado esperado está presente. Caso não esteja o Selenium IDE marca o passo com erro e continua a execução do script;
  • Asserção (asserts): garante que o resultado esperado está presente. Caso não esteja o Selenium IDE marca o passo com erro e para a execução do script.

É possível visualizar esses comandos deixando o Selenium IDE gravando e clicando com o botão direito do mouse em qualquer área do site. Feito isso, é exibida uma lista de comandos possíveis, conforme mostrado na imagem abaixo.

Selenium IDE Asserts Browser

 

Identificando elementos HTML

No Selenium IDE há algumas formas de localizarmos os elementos HTML para uma interação. São eles:

Localização por ID

É provavelmente o tipo de localização mais comum e utilizado. Quando um elemento HTML possui o atributo id, o Selenium IDE logo utiliza o valor deste atributo para localizar o elemento.

Exemplo: Localizando um campo de usuário a partir do HTML abaixo:

Selenium IDE By Id

Neste caso, o Selenium IDE irá colocar na caixa de texto Alvo o valor id=username.

Localização por Name

Quando o elemento HTML possui o atributo name, o Selenium IDE utiliza o valor deste atributo para localizar o elemento.

Exemplo: Localizando um campo de comentários (text area):

Selenium IDE By Name

Neste caso, o Selenium IDE irá colocar na caixa de texto Alvo o valor name=comentários.

Localização por Link

Quando o elemento HTML é um link (um elemento tipo a) o Selenium IDE utiliza o texto do hyperlink para sua localização.

Exemplo: Link que apresenta o texto "Introdução ao Selenium IDE":

Selenium IDE By Link

Neste caso, o Seleium IDE irá colocar na caixa de texto Alvo o valor link=Introdução ao Selenium IDE

Localização por DOM

O DOM – Document Oriented Model, representa um documento HTML e pode ser acessado através de Javascript.

Exemplo: Localizando um campo senha:

Selenium IDE By DOM

Neste caso, o Selenium IDE irá colocar na caixa de texto Alvo o valor document.getElementById('password').

Localização por CSS

O CSS utiliza-se de seletores (selectors) para localizar, além de elementos a atributos, os mesmos através de seu estilo.

Exemplo: Localizando um campo através de seu estilo
Selenium IDE By CSS

Neste caso, o Selenium IDE irá colocar na caixa de texto Alvo o valor css=input.required

Localização por XPATH

XPath é uma linguagem de consulta de nós em arquivos XML. Um arquivo HTML pode ser uma implementação do XML (XHTML) e também possui a mesma estrutura de um arquivo XML.

Ele possui algumas funções para facilitar a localização de elemento, que pode ser feita pelo elemento em si, atributos ou posição do elemento.

Todo comando de localização contendo XPATH deve começar com duas barras "//"

Exemplo: Localizando um campo por posição (localizando o Estado)
Cidade: Selenium IDE By Xpath
Estado: Selenium IDE By Xpath

Neste caso, o Selenium IDE irá colocar na caixa de texto Alvo o valor //input[2]

Execução de Script

A IDE do Selenium permite que o caso de teste seja executado de diferentes maneiras como, por exemplo, rodar o caso de teste inteiro de uma só vez, rodar o caso de teste linha por linha, iniciar e parar a execução do caso de teste ou até mesmo rodar um único comando que você esteja desenvolvendo.
Essa facilidade propiciada pela ferramenta ajuda muito o testador pois ele consegue verificar um problema mais facilmente, além de não precisar rodar o caso de teste inteiro quando não for necessário.

Existe uma outra facilidade na execução dos casos de teste. É possível executar o mesmo caso de teste em domínios diferentes apenas mudando a URL no campo URL Base. Essa facilidade é muito útil quando já existe uma versão do site no ar e uma outra em desenvolvimento. Dessa forma você aproveita o mesmo caso de teste para executar tanto na versão que está no ar quanto na versão que ainda está em desenvolvimento.

Com o script pronto basta executar o script para garantir que o mesmo está de acordo com o teste que planejamos. Para executar o script no Selenium IDE apenas clique no botão Run e todas as ações do script serão executadas no Firefox. Ao final da execução o Selenium IDE irá identificar o script com sucesso ou falha.

No caso abaixo o script executado foi executado com sucesso:

Selenium IDE

Até semana que vem!

1 thought on “Introdução ao Selenium IDE”

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *