Para "instalar" o Selenium-Core, descompacta-se o arquivo e copia-se o
diretório Core para o Tomcat webapps.
Existe uma ferramenta (Selenium-IDE) que escreve automaticamente testes
para Selenium, mas ela só funciona com Firefox 1.5 ou superior (e aqui
na LCPD o Firefox é 1.0.4). Essa ferramenta "grava" as ações que
você toma na página HTMl que você deseja testar e gera o teste
Selenium pra você.
No caso da ausência dessa ferramenta, é possível escrever os testes
manualmente, numa tabela de HTML. A primeira linha dessa tabela é
ignorada pelo Selenium Core (ou seja, pode ser usada para identificar o
teste com informações úteis).
A partir da segunda linha, a tabela tem de ter 3 colunas. A primeira
coluna é preenchida com o nome de um comando, e as outras duas com os
seus argumentos. Alguns comandos precisam de apenas um argumento, nesse
caso basta deixar a última coluna vazia.
Um exemplo:
Teste
open /mypage
type nameField John Smith
click submitButton True
verifyText name John Smith
O comando "type" insere no elemento identificado por "nameField" o
valor "John Smith", como se fosse digitado manualmente por um usuário
web. Esse comando pode ser utilizado também com check e comboboxes.
Outro comando importante é o "verify". Ele verifica se o elemento
identificado no primeiro parâmetro tem valor igual ao segundo
parâmetro. Se verdadeiro, o teste obtém sucesso. Se falso, o teste
continua, e posta a falha num log. Se quiséssemos que o teste parasse
em caso de falha (em vez de continua e postar num log), utilizaríamos
assertText.
Como o Selenium "identifica" um elemento?
Existem outras formas de identificação, mas aquela citada no exemplo
acima funciona da seguinte forma: o código HTML contém tags com
parâmetros id ou name. Por exemplo, <submit id=submitButton> ou
<submit name=submitButton>. O Selenium irá pegar o primeiro com id
correspondente. Se não encontrado, vai pegar o primeiro com o name
correspondente.
Vários comandos podem ser usados na sua forma "DoAndWait". Por
exemplo, "OpenAndWait". Isso significa que ao fazer a operação Do o
navegador precisa esperar carregar uma nova página do servidor. Se o
TimeOut excede, o teste pára e falha. É possível estipular o TimeOut
manualmente (o padrão é 30 segundos), para isso utilizamos o comando
setTimeOut.
Uma lista completa dos outros comandos pode ser encontrada aqui:
http://release.openqa.org/selenium-core/nightly/reference.html
Creio, no entanto, que a lista de comandos que será por nós
amplamente utilizada nos testes do website da Ginástica Laboral não
terá muito mais comandos do que os já citados acima.
Quem estiver disposto a fazer hora extra essa semana, meus horários livres
são:
terça:
das 14h às 16h
quinta:
das 10h às 11h40
sexta:
das 10h às 11h30
Abraços
_______________________________________________________
Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. Registre seu aparelho agora!
http://br.mobile.yahoo.com/mailalertas/
Quando tiver coisas novas para me mostrar, por favor, me chame.
fabio.
---
Prof. Fabio Kon
Department of Computer Science
University of São Paulo