selenium usp
Post on 19-Oct-2015
69 Views
Preview:
TRANSCRIPT
-
1SELENIUMMrcio DelamaroHarry Trinta28/03/2011
-
O que a Selenium? Selenium uma ferramenta desenvolvida para a
automao de testes em aplicaes Web Suporta diversos browsers:
Firefox Internet Explorer Internet Explorer Safari Opera Chrome
.. e diversos SOs Windows, Linux, Solaris
-
O que a Selenium? Tipos de Testes Possveis:
Teste Funcional Teste de Regresso Teste de Desempenho
Componentes: Selenium IDE Selenium RC (Remote Control) Selenium Grid
http://seleniumhq.org
-
4
-
Selenium IDE5
-
Selenium IDE Selenium IDE um plug-in para o Firefox capaz
de gravar e reproduzir testes
Com ele possvel exportar o teste gravado para diversas linguagens, por exemplo, HTML, para diversas linguagens, por exemplo, HTML, Java, .NET, Perl, Ruby, etc
Os testes exportados podem ser executados em qualquer navegador e qualquer plataforma usando o componente Selenium RC
-
Selenium IDE
Execuo dos comandos
Grava as aes do usurio
Especificao dos comandos
-
Selenium IDE
Endereo do sistema que ser testado
Lista das aes executadas
Registro dos eventos executados, incluindo eventuais erros
-
Selenium RC9
-
Selenium-RC Selenium-RC oferece uma API (Application
Programming Interface) e uma biblioteca para cada uma das linguagens suportadas: HTML, Java, C #, Perl, PHP, Python e Ruby.
Possui um servidor que automaticamente abre e fecha browsers, e atua como um HTTP proxy para as requisies web.
-
Selenium-RC
-
Selenium GRID12
-
Selenium-Grid
Esse componente capaz de distribuir os testes em diversas mquinas para que possam ser executados em paralelo Tempo de execuo reduzidoTempo de execuo reduzido Testes podem ser executados em diferentes
combinaes de navegador + sistema operacional
Gera um relatrio agrupado de todas as mquinas de teste
-
Selenium-Grid
-
Comandos15
-
Comandos Actions: so comandos que geralmente manipulam o estado da aplicao.
Por exemplo, clicar em um link ou selecionar uma opo de uma comboBox. Normalmente, os comandos que executam aes podem ter um sufixo
"AndWait", por exemplo, "clickAndWait
Accessors: examinam o estado da aplicao e armazenam os resultados em variveis , por exemplo, "storeTitle".em variveis , por exemplo, "storeTitle". tambm so usados para gerar Assertions automaticamente.
Assertions: so como Acessors, mas verificam se o estado da aplicao est em conformidade com o que se espera. Por exemplo, verifica se o ttulo da pgina X, verifica se uma determinada opo est assinalada.
Todas as Assertions podem ser utilizadas em trs modos: assert", "verify" e "waitFor". Por exemplo, voc pode utilizar "assertText", "verifyText e "waitForText".
-
Alguns comandos mais comuns open
Abre uma pgina URL. click/clickAndWait
Executa um clique e, opcionalmente, espera por uma nova pgina carregar. verifyTitle/assertTitle
Verifica o ttulo da pgina. verifyTextPresent
Verifica se o texto esperado est na pgina.verifyElementPresent verifyElementPresent Verifica se um elemento UI esperado, conforme definido pelo seu cdigo HTML, est presente na pgina.
verifyText verifica se o texto esperado e sua tag HTML correspondente esto presentes na pgina.
verifyTable verifica o contedo esperado de uma tabela.
waitForPageToLoad interrompe a execuo at que uma nova pgina seja carregada. Chamado automaticamente quando
clickAndWait usado. waitForElementPresent
interrompe a execuo at que um elemento da interface do usurio esperado, conforme definido pelo seu cdigo HTML, esteja presente na pgina.
-
Porque usar a Selenium?18
-
Porque escolher a Selenium? As bibliotecas Selenium podem ser importadas nas mais populares
IDEs
Eclipse, NetBeans, Visual Studio Net, etc. Reutiliza os frameworks de testes de unidade
Utilizada por equipes de teste funcional, teste de regresso e teste Utilizada por equipes de teste funcional, teste de regresso e teste de aceitao do usurio
A integrao no processo de build tornou fcil de implement-la em ambientes de Integrao Contnua
-
Porque escolher a Selenium?
Um forte apoio para as tecnologias AJAX
Consegue realizar testes em diversos browsers e em diversos sistemas operacionais
Executa testes em paralelo Executa testes em paralelo Usando o componente Grid, os testes podem ser executados em
paralelo em vrios RC (agente) de diferentes mquinas Economiza tempo e mais rpido
Selenium GRTIS Sem custos de licenciamento. Pode ser implantada em quantas mquinas forem necessrias
-
Instalando 21
-
Instalando Selenium IDE
Abra a janela do navegador Firefox (obrigatoriamente)
Abra http://seleniumhq.org/download/ Em Downloads Escolha IDE Selenium Em Downloads Escolha IDE Selenium
No faa isso em outro browser
-
Instalando Selenium IDE
Clique em Allow (Aceitar) para prosseguir com a instalao
Reinicie o Firefox
-
Instalando Selenium IDE
Agora, no Firefox, v em Ferramentas e verifique se Selenium IDE exibido
Se sim, o Selenium IDE est instalado
-
Instalando Selenium RC
Esse exemplo, ser feito utilizando a linguagem Java
A IDE utilizada ser o Eclipse A IDE utilizada ser o Eclipse
Para executar os testes, ser usado o JUnit 4
-
Criao do projeto no Eclipse Criar um novo projeto
-
Criao do projeto no Eclipse
Next
-
Criao do projeto no Eclipse
1 Clique em Libraries2 Clique em Add Library
1 Clique em Libraries
3 Escolha JUnit -> Next
-
Criao do projeto no Eclipse Escolha JUnit 4 e clique em Finish
-
Criao do projeto no Eclipse
1 Clique em Add External Jars
2 Adicione os dois 2 Adicione os dois 2 Adicione os dois jars mostrados na Imagem
3 Clique em Finish
2 Adicione os dois jars mostrados na Imagem
http://seleniumhq.org/download/
-
Ambiente pronto
Agora, j possvel realizar testes utilizando a ferramenta Selenium em projetos Java
-
Exemplo Gravando um teste
GravandoGravando
-
Gravando utilizao
Site escolhido: www.hotmail.com
Clicar aquiClicar aqui
-
Gravando utilizao
Passos j gravados
Testar se o sistema est verificando o tamanho da senha
Testar se o sistema est verificando o tamanho da senha
Testar se o sistema est verificando o tamanho da senha Passos j
gravados
-
Gravando utilizao
Digitado: 123 Verifica se o Sistema est emitindo o alertaVerifica se o Sistema est emitindo o alerta
Comandos / Verificaes disponveis para a tela
-
Visualizando comandos
Cdigo para ser utilizado no JUnit
Comandos capturados
-
Criando Classe de Teste
O cdigo gerado pela Selenium IDE pode ser exportado clicando em Arquivo -> Exportar Teste Como -> JUnit 4
ou ...ou ...
copiando diratamente o cdigo mostrado e colando dentro de uma classe no Eclipse
-
Criando Classe de Teste
-
Servidor
Para executar os casos de teste, necessrio inicializar o servidor Selenium. possvel fazer isso de duas maneiras: Via prompt, ir at a pasta onde se encontra o .jar Via prompt, ir at a pasta onde se encontra o .jar
do servidor e inici-lo com o comando:java -jar selenium-server-standalone-2.0b2.jar
Incluir trechos de cdigos na classe de teste SeleniumServer servidor;servidor = new SeleniumServer(); servidor.start();
-
Alterao no cdigo
importante ressaltar que, muita das vezes, o cdigo gerado pela Selenium IDE precisa de ajustes do testador
-
public class ClasseDeTeste extends SeleneseTestCase {Selenium selenium; SeleniumServer servidor;
@Beforepublic void setUp() throws Exception {
servidor = new SeleniumServer(); servidor.start();selenium = new DefaultSelenium("localhost", 4444, "*chrome", "https://login.live.com/");selenium.start();
}@Testpublic void testTeste() throws Exception {selenium.open("/login.srf?wa=wsignin1.0&rpsnv=11&ct=1300939240&rver=6.1.6206.0&wp=MBI&wreply=http:%2F%2Fmail.live.com%2Fdefault.aspx&lc=1046&id=64855&mkt=pt-br&cbcxt=mai&snsc=1");
Thread.sleep(3000);selenium.click("i0010");selenium.waitForPageToLoad("30000");selenium.type("iPwd", "123");assertEquals(selenium.isTextPresent("A senha deve ter mais de 5 caracteres."), true);
}@Testpublic void testTeste2() throws Exception {selenium.open("/login.srf?wa=wsignin1.0&rpsnv=11&ct=1300939240&rver=6.1.6206.0&wp=MBI&wreply=http:%2F%2Fmail.live.com%2Fdefault.aspx&lc=1046&id=64855&mkt=pt-br&cbcxt=mai&snsc=1");
Thread.sleep(3000);selenium.click("i0010");selenium.waitForPageToLoad("30000");selenium.type("iPwd", "1234");assertEquals(selenium.isTextPresent("A senha deve ter mais de 5 caracteres."), true);
}
Servidor
Necessrio para que a pgina seja carregada completamente
Verifica se o texto foi encontrado na pgina
41
}@Testpublic void testTeste3() throws Exception {selenium.open("/login.srf?wa=wsignin1.0&rpsnv=11&ct=1300939240&rver=6.1.6206.0&wp=MBI&wreply=http:%2F%2Fmail.live.com%2Fdefault.aspx&lc=1046&id=64855&mkt=pt-br&cbcxt=mai&snsc=1");
Thread.sleep(3000);selenium.click("i0010");selenium.waitForPageToLoad("30000");selenium.type("iPwd", "12345");assertEquals(selenium.isTextPresent("A senha deve ter mais de 5 caracteres."), true);
}@Testpublic void testTeste4() throws Exception {selenium.open("/login.srf?wa=wsignin1.0&rpsnv=11&ct=1300939240&rver=6.1.6206.0&wp=MBI&wreply=http:%2F%2Fmail.live.com%2Fdefault.aspx&lc=1046&id=64855&mkt=pt-br&cbcxt=mai&snsc=1");
Thread.sleep(3000);selenium.click("i0010");selenium.waitForPageToLoad("30000");selenium.type("iPwd", "123456");assertEquals(selenium.isTextPresent("A senha deve ter mais de 5 caracteres."), true);
}@Afterpublic void tearDown() throws Exception {
selenium.stop();servidor.stop();
}}
Esse teste deve falhar, pois ser digitado 6 caracteres para a senha e, no comando abaixo, espera-se que seja emitido a mensagem de erro (no ser).
-
Executando os Testes
Clicar com o Boto direito -> Run As -> JUnit Teste Todos os Testes da classe sero executados
-
Executando os Testes
Como esperado, o ltimo teste falhou
-
Exerccio44
top related