Ferramenta Selenium{ 2.8
Transcript of Ferramenta Selenium{ 2.8
Organizacao
Ferramenta Selenium– 2.8.0∗Automatizacao de Teste Web
Auri Marcelo Rizzo Vincenzi1, Marcio Eduardo Delamaro2 eJose Carlos Maldonado2
1Instituto de InformaticaUniversidade Federal de Goias
2Instituto de Ciencias Matematicas e de ComputacaoUniversidade de Sao Paulo
∗Material produzido com base nos tutoriais do Software Testing Help (2014a,b,g,h)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 1/131
Organizacao
Este material pode ser utilizado livremente respeitando-se a licencaCreative Commons: Atribuicao – Uso Nao Comercial –
Compartilhamento pela mesma Licenca (by-nc-sa).
Ver o Resumo da Licenca | Ver o Texto Legal
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 2/131
Organizacao
Organizacao
Parte 1: Basico do SeleniumParte 2: Selenium IDE – Instalacao e CaracterısticasParte 3: Pratica com Selenium IDEParte 4: Selenium WebDriver – IntroducaoParte 5: Integracao WebDriver/TestLinkParte 6: Pratica com WebDriver
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 3/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Parte IBasico do Selenium
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 4/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Introducao
Principais Componentes da SeleniumSelenium CoreSelenium IDESelenium RCSelenium GridSelenium WebDriverSelenium 3
Ambiente e Pilha de Tecnologia
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 5/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Introducao (1)
I Selenium automatiza a execucao de teste de sistemas Web
I Trata-se de uma ferramenta de Captura & Reproducao(Capture & Playback)
I Pode ser considerada como sendo um agrupado de diferentesferramentas
I Este tutorial cobre grande parte delas com exemplos deutilizacao
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 6/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Introducao (2)
I Tendencia de automatizacao em massa por parte da industria
I Teste manuais repetitivos podem ser automatizados
I Alguns benefıcios da automatizacao sao:
I Apoio a execucao de testes repetitivosI Apoio a teste em larga escalaI Execucao paralela de testeI Incentivo a execucao autonoma de testeI Melhora na acuracia decorrente da reducao da intervencao
humana no processoI Economia de tempo e dinheiro
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 7/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Introducao (3)
I Como resultado tem-se:
I Alto Retorno de Investimento (ROI)I Rapido GoTo market
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 8/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Introducao (4)
I Embora automacao esteja em alta, algumas perguntaspermanecem:
I Qual a melhor ferramenta para automatizacao de teste?I Qual o custo envolvido?I Ela e de facil adaptacao?
I Uma das melhores respostas para as questoes acimaconsiderando automatizacao de aplicacoes Web e Selenium,porque:
I Ela e de codigo abertoI Possui uma grande comunidade de usuariosI E compatıvel com multiplos navegadores e plataformasI Possui uma comunidade de desenvolvimento ativaI Fornece suporte para diferentes linguagens
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 9/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Introducao
Principais Componentes da SeleniumSelenium CoreSelenium IDESelenium RCSelenium GridSelenium WebDriverSelenium 3
Ambiente e Pilha de Tecnologia
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 10/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Principais Componentes (1)
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 11/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Principais Componentes (2)
I Selenium nao e apenas uma unica ferramenta
I E um conjunto de varias ferramentas
I Cada uma delas demanda requisitos especıficos e visa proverrecursos para a conducao de testes diferenciados
I O conjunto e composto das seguintes ferramentas:
I Selenium Integrated Development Environment (IDE)I Selenium Remote Control (RC)I Selenium WebDriverI Selenium Grid
I Selenium RC e WebDriver, em conjunto, sao conhecidaspopularmente por Selenium 2
I Selenium RC sozinha e tambem chamada de Selenium 1
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 12/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Principais Componentes (3)
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 13/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Selenium Core
Selenium Core (1)
I Selenium e resultado do esforco contınuo de um engenheiro daThoughtWorks, chamado Jason Huggins
I Responsavel pela realizacao do teste de uma aplicacao internade Tempo e Despesas, ele procurou por ferramentas quepudesse automatizar os testes sem comprometer a precisao equalidade dos testes manuais
I Como resultado, ele criou o JavaScriptTestRunner em 2004que permitia controlar automaticamente acoes no navegador
I Liberada para o grande publico, essa ferramenta passou a serchamada de Selenium Core
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 14/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Selenium IDE
Selenium IDE (1)
I Selenium IDE foi desenvolvida por Shinya Kasatani
I Ao estudar a Selenium Core, Shinya Kasatani observou que ocodigo JavaScript poderia ser estendido para criar umambiente integrado de desenvolvimento (IDE) como umaextensao do Mozilla Firefox
I O IDE e capaz de gravar acoes realizadas no navegador eposteriormente reproduzi-las
I Consiste na maneira mais simples e facil de gravar ereproduzir casos de teste
I Entretanto, pode nao ser adequada quando scripts avancadossao necessarios
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 15/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Selenium IDE
Selenium IDE (2)
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 16/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Selenium RC
Selenium RC (1)
I Selenium RC e uma ferramenta escrita em Java
I Permite ao usuario escreve scripts para executar aplicacoesWeb escritas nas mais variadas linguagens de programacao
I Criada para superar as limitacoes e desvantagens do SeleniumIDE ou Selenium Core
I Uma das principais limitacoes e a “polıtica da mesma origem”(same origin policy)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 17/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Selenium RC
Selenium RC (1)
I Selenium RC e uma ferramenta escrita em Java
I Permite ao usuario escreve scripts para executar aplicacoesWeb escritas nas mais variadas linguagens de programacao
I Criada para superar as limitacoes e desvantagens do SeleniumIDE ou Selenium Core
I Uma das principais limitacoes e a “polıtica da mesma origem”(same origin policy)
Problema da Polıtica da Mesma Origem
Tal problema impede o acesso ao DOM de um documento a partirde uma origem diferente daquela que se esta tentando o acesso.
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 17/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Selenium RC
Selenium RC (2)
I Origem e uma combinacao de esquema, host e porto de umaURL
I Por exemplo, para a URLhttp://www.seleniumhq.org/projects/, origem euma combinacao de http, seleniumhq.org, 80,respectivamente
I Selenium Core (programa JavaScript) nao pode acessarelementos de origem diferente daquela que ele foi inicializado
I Por exemplo, se o programa JavaScript foi inicializado a partirde http://www.seleniumhq.org/, e possıvel ter acessoa paginas dentro deste mesmo domınio, tais comohttp://www.seleniumhq.org/projects/ ouhttp://www.seleniumhq.org/download/. Paraoutros domınios como google.com e yahoo.com o acessonao e permitidoVincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 18/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Selenium RC
Selenium RC (3)
I Para testar uma aplicacao com o Selenium Core, todaaplicacao tem que estar instalada no Selenium Core e nomesmo servidor Web
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 19/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Selenium RC
Selenium RC (4)
I Selenium Remote Control (Selenium RC) surgiu parasuplantar essa limitacao
I Ao contrario do Selenium IDE, Selenium RC da suporte a umavariedade de navegadores e plataformas
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 20/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Selenium RC
Selenium RC (5)
I Fluxo de trabalho do Selenium RC
1. Os usuarios criam scripts de teste na linguagem deprogramacao desejada
2. Para cada linguagem, existe uma biblioteca cliente especıfica3. A biblioteca cliente encaminha os comandos para o servidor
Selenium4. O Servidor Selenium decifra e converte os comandos de teste
em comandos JavaScript e os envia para o navegador5. O navegador executa os comandos por meio do Selenium Core
e encaminha os resultados para o servidor Selenium6. O servidor Selenium entrega os resultados para a biblioteca
cliente
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 21/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Selenium RC
Selenium RC (6)
I Pre-requisitos para usar o Selenium RC
1. Uma linguagem de programacao: Java, Ruby, Python, Perl,PHP, ou .Net
2. Um Ambiente de Desenvolvimento Integrado (IDE): Eclipse,Netbeans etc
3. Um arcabouco de teste (opcional): JUnit, TestNG etc4. O Selenium RC configurado
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 22/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Selenium RC
Selenium RC (7)
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 23/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Selenium Grid
Selenium Grid
I Selenium Grid desenvolvido por Pat Lightbody visando apermitir a execucao de conjuntos de teste em multiplasplataformas, simultaneamente
I Execucao distribuıda dos testes
I Multiplos navegadores e multiplas plataformas gerenciadas deforma concorrente
I Grande economia de tempo na execucao dos testes
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 24/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Selenium WebDriver
Selenium WebDriver (1)
I Selenium WebDriver foi desenvolvido em 2006 por outroengenheiro da ThoughtWorks, chamado Simon Stewart
I Selenium WebDriver tambem e uma ferramenta de teste paraWeb com uma diferenca sutil em relacao a Selenium RC
I Construıda considerando o que seria fundamental:I Um cliente especıfico e isolado foi construıdo para cada
navegadorI Nenhum recurso pesado de JavaScript foi utilizadoI Uma ferramenta mais poderosa surgiu e e denominada
Selenium 2
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 25/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Selenium WebDriver
Selenium WebDriver (2)
I Selenium WebDriver e um arcabouco inteiramente Orientadoa Objetos
I Utiliza recursos nativos dos navegadores para automatizacaodos testes, sem necessitar de entidades perifericas
I Com demanda crescente, ganha cada vez mais popularidade
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 26/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Selenium WebDriver
Selenium WebDriver (3)
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 27/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Selenium 3
Selenium 3 (1)
I Selenium 3 e uma evolucao do Selenium 2 com foco naautomatizacao de aplicacoes moveis e web
I Para apoiar teste movel a API do WebDriver esta sendoestendida para atender as necessidades especiais de aplicacoesmoveis
I Essa versao do Selenium deve ser lancada em breve
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 28/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Introducao
Principais Componentes da SeleniumSelenium CoreSelenium IDESelenium RCSelenium GridSelenium WebDriverSelenium 3
Ambiente e Pilha de Tecnologia
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 29/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Ambiente e Pilha de Tecnologia (1)
I Com o surgimento e evolucao das ferramentas que compoemo Selenium o ambiente e as tecnologias necessarias se tornammais complicadas
I A seguir seguem uma lista de ambientes e tecnologiasapoiadas pelo conjunto de ferramentas Selenium
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 30/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Ambiente e Pilha de Tecnologia (2)
Navegadores suportados
Navegador Selenium IDE Selenium RC WebDriverMozilla Firefox Sim Sim SimGoogle Chrome Nao Sim SimInternet Explorer Nao Sim SimOpera Nao Sim SimSafari Nao Sim SimOutros Nao Parcial Possıvel Parcial/Total Possıvel
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 31/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Ambiente e Pilha de Tecnologia (3)
Linguagens de programacao suportadas
Linguagem Selenium IDE Selenium RC WebDriverJava Nao (geracao codigo possıvel) Sim SimC# Nao (geracao codigo possıvel) Sim SimPHP Nao (geracao codigo possıvel) Sim SimPerl Nao (geracao codigo possıvel) Sim SimRuby Nao (geracao codigo possıvel) Sim SimPython Nao (geracao codigo possıvel) Sim Sim
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 32/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Ambiente e Pilha de Tecnologia (4)
Sistemas operacionais suportadas
SO Selenium IDE Selenium RC WebDriverWindows Sim Sim SimMacOS Sim Sim SimLinux Sim Sim SimSolaris Sim Sim Sim
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 33/131
Introducao Principais Componentes da Selenium Ambiente e Pilha de Tecnologia
Ambiente e Pilha de Tecnologia (5)
Arcaboucos de teste suportados
Arcabouco de Teste Selenium IDE Selenium RC WebDriverJUnit Nao Sim SimNUnit Nao Sim SimRSpec Nao Sim SimTestNG Nao Sim SimUnittest Nao Sim SimRobot Nao Sim Sim
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 34/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Parte IISelenium IDE – Instalacao e Caracterısticas
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 35/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Introducao
Download e Instalacao
Caracterısticas do Selenium IDEBarra de MenuBarra de URL BaseBarra de FerramentasEditorPainel de Caso de TestePainel de LogPainel de ReferenciaPainel de Elemento UIPainel de Rollup
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 36/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Introducao (1)
I Selenium Integrated Development Environment (SeleniumIDE) e uma ferramenta de teste, disponibilizada como umplug-in do Firefox, que automatiza a execucao automatica deteste de aplicacoes Web
I E uma das maneiras mais simples e facil de se criar scripts deteste
I A ferramenta permite a gravacao e reproducao de casos deteste, alem da edicao de scripts de teste
I A caracterıstica mais marcante da Selenium IDE e a naoexigencia de conhecimentos de programacao avancados parasua utilizacao
I O mınimo que se necessita e conhecimento basico sobreHTML, DOM e JavaScript
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 37/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Introducao (2)
I Sendo um plug-in do Firefox, Seleium IDE funciona apenas noFirefox
I Para outras necessidades ou escrita de scripts de teste maiselaborados e necessario utilizar outras ferramentas como aSelenium RC ou Selenium WebDriver
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 38/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Introducao
Download e Instalacao
Caracterısticas do Selenium IDEBarra de MenuBarra de URL BaseBarra de FerramentasEditorPainel de Caso de TestePainel de LogPainel de ReferenciaPainel de Elemento UIPainel de Rollup
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 39/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Download e Instalacao
I Primeiramente e necessario ter um Mozilla Firefox instaladoI https://www.mozilla.org/pt-BR/
I Abra o Firefox e digite o endereco de download do SeleniumI http://www.seleniumhq.org/download/
I Selecione a ultima versao: 2.8.0
I Proceda a instalacao do plug-in do Firefox
I Ao final da instalacao o Firefox precisa ser reinicializado
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 40/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Introducao
Download e Instalacao
Caracterısticas do Selenium IDEBarra de MenuBarra de URL BaseBarra de FerramentasEditorPainel de Caso de TestePainel de LogPainel de ReferenciaPainel de Elemento UIPainel de Rollup
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 41/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Caracterısticas do Selenium IDE (1)
I Finalizada a instalacao, o ıcone do Selenium IDE e exibido nonavegador
I O acesso a ferramenta tambem pode ser feito pelo menuFerramentas->Selenium IDE
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 42/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Caracterısticas do Selenium IDE (2)
Fonte: Software Testing Help (2014b)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 43/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Barra de Menu
Barra de Menu (1)
I Barra de MenuI Menu FileI Menu EditI Menu ActionI Menu OptionI Menu Help
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 44/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Barra de Menu
Barra de Menu (2)
I Menu File
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 45/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Barra de Menu
Barra de Menu (3)
I Menu FileI Analogo ao menu arquivo de qualquer aplicacaoI Permite realizar operacoes como:
I Criar um novo caso de teste, abrir um caso de teste existe esalvar um caso de teste
I Exportar Caso de Teste e Exportar Conjunto de Teste noformato de qualquer linguagem suportada pelo Selenium RC eWebDriver. Tambem oferece apoio para geracao baseada emarcaboucos de teste como JUnit, NUnit, dentre outros.
I Fechar caso de teste
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 46/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Barra de Menu
Barra de Menu (4)
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 47/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Barra de Menu
Barra de Menu (5)
I Menu Edit
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 48/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Barra de Menu
Barra de Menu (6)
I Menu EditI Oferece opcoes tradicionais de copiar, colar e recortarI Outras opcoes sao:
I Insert New Command: permite inserir um novocomando/passo de teste em qualquer ponto do caso de testeatual
I Insert New Comment: permite a insercao de comentario emqualquer ponto do caso de teste atual
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 49/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Barra de Menu
Barra de Menu (7)
I Insert New Command
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 50/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Barra de Menu
Barra de Menu (8)
I Insert New Comment
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 51/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Barra de Menu
Barra de Menu (9)
I Menu Action
Fonte: Software Testing Help (2014a)Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 52/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Barra de Menu
Barra de Menu (10)
I Menu Action oferece opcoes para:I Record – inicia a gravacao de acoes no Firefox pelo IDEI Play entire test suite – inicia a reproducao das acoes dos casos
de teste do conjunto de teste atualI Play current test case inicia a reproducao das acoes do caso de
teste atualI Pause / Resume – para e retoma a execucao das acoes do caso
de teste a qualquer momentoI Toggle Breakpoint – um ou mais pontos de controle podem ser
inseridos para parar a execucao das acoes do caso de testedurante sua execucao
I Set / Clear Start Point – permite definir o ponto de inıcio dasacoes de execucao de um caso de teste. Isso permite aousuario iniciar a execucao do teste de qualquer ponto
I Para controlar a velocidade de carga dos elementos da pagina,o usuario ode definir a velocidade de execucao de Fast a Slow
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 53/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Barra de Menu
Barra de Menu (11)
I Menu Option
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 54/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Barra de Menu
Barra de Menu (12)
I Menu OptionI Permite personalizar varias configuracoes do Selenium IDEI Um dos mas importantes e recomendados menus da ferramentaI Procure estuda-lo em detalhes para tirar o maximo proveito da
ferramenta
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 55/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Barra de Menu
Barra de Menu (13)
I Menu Option e composto dos seguintes componentes
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 56/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Barra de Menu
Barra de Menu (14)
I Options -> General
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 57/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Barra de Menu
Barra de Menu (15)
I Options -> General -> Record assertTitle automatically
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 58/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Barra de Menu
Barra de Menu (16)
I Options -> Formats
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 59/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Barra de Menu
Barra de Menu (17)
I Options -> Plugins
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 60/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Barra de Menu
Barra de Menu (18)
I Options -> Locator Builder
I Altera a ordem padrao de localizar elementos na pagina Web
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 61/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Barra de Menu
Barra de Menu (19)
I Options -> Format
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 62/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Barra de URL Base
Barra de URL Base (1)
I Indica qual a URL base a partir da qual as acoes estao sendoregistradas
I Toda vez que o usuario abre um comando no Selenium IDEsem indicar um alvo, a URL base e utilizada
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 63/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Barra de URL Base
Barra de URL Base (2)
I Acesso a caminhos relativosI O acesso a caminhos relativos e feito simplesmente incluindo
um alvo como /download em um comando openI Esse conteudo e combinado com a URL base para indicar o
local especificadohttp://docs.seleniumhq.org/resources
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 64/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Barra de Ferramentas
Barra de Ferramentas (1)
I A Barra de Ferramentas oferece as seguintes opcoes:I Playback speed – controla a velocidade de execucao das acoesI Play test suite – executa todos os casos de testeI Play test case – executa o caso de teste selecionadoI Pause – pausa a execucaoI Step – executa um passo do caso de testeI Rollup – permite combinar multiplos passos de teste para agir
como um unico comandoI Record – permite iniciar ou parar o modo de gravacao das
acoes
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 65/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Editor
Editor (1)
I Editor e a regiao onde as acoes dos testes sao registradas naordem em que ocorrem
I Possui dois modos de visao: tabular e codigo fonte
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 66/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Editor
Editor (2)
I Editor de Comandos
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 67/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Editor
Editor (2)
I Editor de ComandosI Permite ao usuario incluir qualquer comando suportado pela
Selenium IDEI O botao Select permite ao usuario selecionar qualquer
elemento na pagina Web e a ferramenta automaticamentepreenche o campo Target com seu localizador
I O botao Find permite ao usuario permite encontrar na paginaWeb o alvo definido
I O campo Value contem o dado de entrada do teste no alvoque se deseja executar o cenario de teste
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 68/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Painel de Caso de Teste
Painel de Caso de Teste (1)
I Painel de Caso de TesteI Painel contendo os casos de teste geradosI Cores indicam a situacao de cada caso de teste apos a execucaoI Vermelho: indica caso de teste que executaram com falhaI Verde: indica caso de teste que executaram com falhaI Se o conjunto de teste for executado, todos os casos de teste
no painel serao executados e receberao as cores conformeresultado da execucao
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 69/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Painel de Caso de Teste
Painel de Caso de Teste (1)
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 70/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Painel de Log
Painel de Log (1)
I Painel de LogI Registra a execucao dos testes em forma de mensagens em
tempo de execucaoI Util para depuracao do caso de testeI Utiliza diferentes nıveis de log para geracao das mensagens:
I Error – mensagens que informam falha no passo do caso deteste. Pode ser gerada quando o elemento solicitado nao eencontrado, a pagina nao carregou, falha na verificacao deassertiva etc
I Warn – mensagem de aviso sobre condicoes inesperadasI Info – mensagem de informacao sobre o estado do passo em
execucao atualI Debug – mensagem com informacoes sobre aspectos tecnicos
da execucao do passo atual
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 71/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Painel de Log
Painel de Log (2)
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 72/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Painel de Log
Painel de Log (3)
I E tambem possıvel gerar o log em arquivo
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 73/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Painel de Log
Painel de Log (4)
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 74/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Painel de Referencia
Painel de Referencia (1)
I Fornece informacoes sobre comando atual (SelenenseCommand) e seus argumentos
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 75/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Painel de Elemento UI
Painel de Elemento UI (1)
I Permite que se utilize JavaScript Object Notation (JSON)para aceso ao elemento da pagina
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 76/131
Introducao Download e Instalacao Caracterısticas do Selenium IDE
Painel de Rollup
Painel de Elemento UI (1)
I Permite combinar multiplos passos de um caso de teste emum so
I Posteriormente, o comando rollup pode ser chamado variasvezes no caso de teste
Fonte: Software Testing Help (2014a)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 77/131
Pratica com Selenium IDE
Parte IIIPratica com Selenium IDE
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 78/131
Pratica com Selenium IDE
Pratica com Selenium IDE
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 79/131
Pratica com Selenium IDE
Pratica com Selenium IDE (1)
I Para praticar sugere-se o sıtio abaixo:I http://bdonline.sqe.com
I Login: atstesteI Password: atsteste123I Caso deseje criar uma nova conta, o Codigo de Autorizacao
(Authorization Code) e 11111111
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 80/131
Selenium WebDriver – Introducao Arquitetura Caracterısticas do WebDriver
Parte IVSelenium WebDriver – Introducao
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 81/131
Selenium WebDriver – Introducao Arquitetura Caracterısticas do WebDriver
Selenium WebDriver – Introducao
Arquitetura
Caracterısticas do WebDriverCompatibilidade com NavegadoresLinguagens de ProgramacaoVelocidadeDriver, Metodo e Classes
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 82/131
Selenium WebDriver – Introducao Arquitetura Caracterısticas do WebDriver
Introducao (1)
I WebDriver e uma das ferramentas mais poderosas doSelenium (Software Testing Help, 2014g)
I Trata-se de uma versao estendida do Selenium RC cominumeras vantagens e resolvendo varias das limitacoes de seuantecessor
I WebDriver estende o suporte a varios navegadores eplataformas, ao contrario do Selenium IDE
I Selenium RC + WebDriver API e conhecido com Selenium 2
I Intencao e das apoio a paginas Web dinamicas e chamadas aAjax
I Tambem apoia varios drivers para exercitar aplicacoes Webmoveis
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 83/131
Selenium WebDriver – Introducao Arquitetura Caracterısticas do WebDriver
Introducao (2)
I Um ponto fundamental para utilizar todas as ferramentas doSelenium e a localizacao de objetos nas paginas Web
I Os tutoriais abaixo detalham essa problematica e comoresolve-la no contexto de diferentes navegadores e utilizandodiferentes mecanismos:
I How to Use Firebug for Creating Selenium Scripts – SeleniumTutorial #4 (Software Testing Help, 2014f)
I How to Identify Web Elements Using Selenium Xpath andOther Locators – Selenium Tutorial #5 (Software TestingHelp, 2014c)
I How to Use CSS Selector for Identifying Web Elements forSelenium Scripts – Selenium Tutorial #6 (Software TestingHelp, 2014e)
I How to Locate Elements in Chrome and IE Browsers forBuilding Selenium Scripts – Selenium Tutorial #7 (SoftwareTesting Help, 2014d)Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 84/131
Selenium WebDriver – Introducao Arquitetura Caracterısticas do WebDriver
Selenium WebDriver – Introducao
Arquitetura
Caracterısticas do WebDriverCompatibilidade com NavegadoresLinguagens de ProgramacaoVelocidadeDriver, Metodo e Classes
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 85/131
Selenium WebDriver – Introducao Arquitetura Caracterısticas do WebDriver
Arquitetura
I WebDriver e diferente da Selenium RC pois se comunicadiretamente com o navegador Web
I Um cliente isolado para cada navegador e construıdo, fazendochamadas diretas a este navegador
I O usuario pode optar por nao precisar do Servidor Selenium seele for criar os testes e executa-los na mesma maquina que aaplicacao se encontrar
I Casos excepcionais que o WebDriver exige o ServidorSelenium:
I Quando se deseja executar scripts em maquinas remotasI Quando se deseja executar scripts com driver HtmlUnitI Quando se deseja executar scripts em multiplas plataformas
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 86/131
Selenium WebDriver – Introducao Arquitetura Caracterısticas do WebDriver
Selenium WebDriver – Introducao
Arquitetura
Caracterısticas do WebDriverCompatibilidade com NavegadoresLinguagens de ProgramacaoVelocidadeDriver, Metodo e Classes
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 87/131
Selenium WebDriver – Introducao Arquitetura Caracterısticas do WebDriver
Compatibilidade com Navegadores
Compatibilidade com Navegadores
I WebDriver da apoio a uma grande variedade de navegadores esuas diferentes versoes
I Da apoio a navegadores tradicionais e outros mais exoticoscomo o HtmlUnit, diferentemente do Selenium IDE eSelenium RC
I O navegador HtmlUnit executa os scripts de teste comoqualquer outro navegador, exceto que sem interface grafica eo usuario nao pode ver a execucao do script
I Isso torna a execucao bem mais rapida
I WebDriver tambem apoio o teste em navegadores dedispositivos moveis via o AndroidDriver eIphoneDriver
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 88/131
Selenium WebDriver – Introducao Arquitetura Caracterısticas do WebDriver
Linguagens de Programacao
Linguagens de Programacao
I Limitacoes do Selenium IDEI Nao da suporte a comandos iterativos e condicionaisI Nao da suporte a tratamento de errosI Nao da suporte a dependencia entre scripts de teste
I Por outro lado, scripts WebDriver podem ser escritos em umavariedade de linguagens de programacao
I JavaI C#I PHPI PerlI RubyI Python
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 89/131
Selenium WebDriver – Introducao Arquitetura Caracterısticas do WebDriver
Velocidade
Velocidade
I Quando comparada com as demais ferramentas, WebDriver ea mais rapida do conjunto
I Isso ocorre devido a forma de comunicacao direta entre oWebDriver e o navegador
I Diferente das demais ferramentas
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 90/131
Selenium WebDriver – Introducao Arquitetura Caracterısticas do WebDriver
Driver, Metodo e Classes
Driver, Metodo e Classes
I WebDriver oferece uma grande variedade de opcoes paraautomatizacao de teste
I Auxilia a lidar com tipos complexos de elementos Web, taiscomo checkboxes, dropdowns, e alertas, com ajuda delocalizadores dinamicos
I Com o advento da era movel, WebDriver evoluiu e oferece doisdrivers essenciais para realizar teste em sistemas Web moveis:
I AndroidDriverI IphoneDriver
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 91/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Parte VIntegracao WebDriver/TestLink
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 92/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Integracao WebDriver/TestLink
Pre-RequisitosHabilitar TestLink APIGerar API Key
Alterar Modo do Caso de Teste
Escrever Codigo com WebDriver
Resultado da ExecucaoExecucao no Chrome
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 93/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Integracao WebDriver/TestLink
I Selenium WebDriver e TestLink podem ser combinados demodo a permitir a atualizacao automatica da situacao daexecucao de casos de teste no TestLink via WebDriver eTestLink API
I Com essa caracterıstica, nao e necessario logar no TestLink atodo momento para atualizar a situacao dos casos de teste
I Para combinar essas ferramentas, alguns pre-requisitos devemser atendidos
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 94/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Integracao WebDriver/TestLink
Pre-RequisitosHabilitar TestLink APIGerar API Key
Alterar Modo do Caso de Teste
Escrever Codigo com WebDriver
Resultado da ExecucaoExecucao no Chrome
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 95/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Pre-Requisitos (1)
I Para usar essas ferramentas e necessario instalar e configurar:
I JavaI EclipseI Selenium Server 2.43.1 (disponıvel emhttp://docs.seleniumhq.org/download/)
I Selenium Client & WebDriver Language Bindings – Java2.43.1 (disponıvel emhttp://docs.seleniumhq.org/download/)
I JUnit 4.11I TestLink Client API 2.0 (disponıvel emhttp://goo.gl/meMHyD)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 96/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Habilitar TestLink API
Habilitar TestLink API
I Para habilitar a API do TestLink e necessario:
I Parar o servidor Web (Apache)I Alterar o arquivo de configuracao do TestLink habilitando o
uso de sua APII Incluir ou alterar no arquivo de configuracao
(config.inc.php) a linha:
$tlCfg->api->enabled = TRUE;
I Reinicializar o servidor Web
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 97/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Gerar API Key
Gerar API Key (1)
I A API Key e essencial para permitir a atualizacao automaticade casos de teste no TestLink
I Os passos para a geracao da chave sao:
1. Abra o TestLink e entre com o login e senha que deseja utilizar2. Entre em Pessoal3. Procure pela opcao API interface4. Clique no botao Gerar uma nova chave5. Uma nova chave sera gerada
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 98/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Gerar API Key
Gerar API Key (2)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 99/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Gerar API Key
Gerar API Key (3)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 100/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Gerar API Key
Gerar API Key (4)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 101/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Integracao WebDriver/TestLink
Pre-RequisitosHabilitar TestLink APIGerar API Key
Alterar Modo do Caso de Teste
Escrever Codigo com WebDriver
Resultado da ExecucaoExecucao no Chrome
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 102/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Alterar Modo do Caso de Teste (1)
I Para que a situacao do caso de teste possa ser atualizadaautomaticamente, seu modo de execucao tem que ser alteradopara Automático
I Os passos para fazer a alteracao sao:
1. Selecione um Caso de Teste2. Clique no botao Opções3. Clique no botao Editar4. Procure pelo campo Tipo de Execução e altere de
Manual para Automatizado5. Clique no botao Salvar
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 103/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Alterar Modo do Caso de Teste (2)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 104/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Alterar Modo do Caso de Teste (2)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 105/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Alterar Modo do Caso de Teste (3)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 106/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Integracao WebDriver/TestLink
Pre-RequisitosHabilitar TestLink APIGerar API Key
Alterar Modo do Caso de Teste
Escrever Codigo com WebDriver
Resultado da ExecucaoExecucao no Chrome
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 107/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Escrever Codigo com WebDriver (1)
I Crie um Projeto Maven no EclipseI Configure o Build Path (Project->BuildPath->Configure Build Path) e inclua os jarsexternos abaixo:
I Jar do Selenium Server Standalone(selenium-server-standalone-2.43.1.jar)
I Jar do Selenium WebDriver para Java(selenium-java-2.43.1.jar) e os demais jars nodiretorio libs
I Jar do TestLink API (testlink-api-client-2.0.jar)e os demais jars no diretorio lib
I Jar do JUnit 4.11 (ja incluıdo no diretorio libs do WebDriver
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 108/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Escrever Codigo com WebDriver (2)
I Crie um pacote com.test no diretorio src/test/java
I Crie o arquivo AutomatedUpdateExample.java dentrodo pacote com.test
I Copie o codigo abaixo dentro do arquivo (ou faca downloaddo arquivo disponıvel no Moodle)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 109/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Escrever Codigo com WebDriver (3)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 110/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Escrever Codigo com WebDriver (4)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 111/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Escrever Codigo com WebDriver (5)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 112/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Escrever Codigo com WebDriver (6)
�1 package com.test;23 import org.junit.Test;4 import org.openqa.selenium.By;5 import org.openqa.selenium.WebDriver;6 import org.openqa.selenium.firefox.FirefoxDriver;7 import org.openqa.selenium.support.ui.ExpectedConditions;8 import org.openqa.selenium.support.ui.WebDriverWait;9
10 import testlink.api.java.client.TestLinkAPIClient;11 import testlink.api.java.client.TestLinkAPIException;12 import testlink.api.java.client.TestLinkAPIResults;1314 public class AutomatedUpdateExample {1516 public static String DEVKEY = "a982d8008628310d056936c010714d37";17 public static String URL = "http://localhost/testlink/lib/api/xmlrpc/v1/xmlrpc.php";1819 public static void reportResult(String TestProject, String TestPlan,20 String Testcase, String Build, String Notes, String Result)21 throws TestLinkAPIException {22 TestLinkAPIClient api = new TestLinkAPIClient(DEVKEY, URL);23 api.reportTestCaseResult(TestProject, TestPlan, Testcase, Build, Notes, Result);24 }� �
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 113/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Escrever Codigo com WebDriver (7)�26 @Test27 public void loginSucesso() throws Exception {28 WebDriver driver = new FirefoxDriver();29 WebDriverWait wait = new WebDriverWait(driver, 600);30 String testProject = "BDOnline";31 String testPlan = "BDOnlinePlan";32 String testCase = "BDLoginSucesso";33 String build = "BDOnlineBuild";34 String notes = null;35 String result = null;36 try {37 driver.manage().window().maximize();38 driver.get("http://bdonline.sqe.com/login.asp");39 driver.findElement(By.name("login")).sendKeys("atsteste");40 driver.findElement(By.name("password")).sendKeys("atsteste123");41 driver.findElement(42 By.xpath("/html/body/form/table[2]/tbody/tr/td[4]/table/tbody/tr[5]/td[2]/input"))43 .click();44 driver.switchTo().defaultContent();45 wait.until(ExpectedConditions.visibilityOfElementLocated(By46 .name("logout")));47 result = TestLinkAPIResults.TEST_PASSED;48 notes = "Executed successfully";49 } catch (Exception e) {50 result = TestLinkAPIResults.TEST_FAILED;51 notes = "Execution failed";52 } finally {53 AutomatedUpdateExample.reportResult(testProject, testPlan, testCase, build, notes, result);54 driver.quit();55 }56 }57 }� �
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 114/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Escrever Codigo com WebDriver (8)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 115/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Integracao WebDriver/TestLink
Pre-RequisitosHabilitar TestLink APIGerar API Key
Alterar Modo do Caso de Teste
Escrever Codigo com WebDriver
Resultado da ExecucaoExecucao no Chrome
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 116/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Resultado da Execucao (1)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 117/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Resultado da Execucao (2)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 118/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Resultado da Execucao (3)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 119/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Resultado da Execucao (4)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 120/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Execucao no Chrome
Execucao no Chrome (1)
I A execucao do mesmo caso de teste no Chrome exige que sejafeito o download do chromedriver, disponıvel emhttps://code.google.com/p/selenium/wiki/ChromeDriver
I Apos a instalacao, basta definir a propriedadewebdriver.chrome.driver com a localizacao dochomedriver (opcao Run As -> Run Configurations...).Por exemplo:
-Dwebdriver.chrome.driver=/local/tools/chromedriver-2.11/chromedriver
I Feito isso, basta alterar
WebDriverdriver=newFirefoxDriver(); porWebDriverdriver=newChromeDriver();
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 121/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Execucao no Chrome
Execucao no Chrome (1)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 122/131
Integracao WebDriver/TestLink Pre-Requisitos Alterar Modo do Caso de Teste Escrever Codigo com WebDriver Resultado da Execucao
Execucao no Chrome
Execucao no Chrome (1)
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 123/131
Pratica com WebDriver Ferramentas Similares Leitura Recomendada Referencias
Parte VIPratica com WebDriver
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 124/131
Pratica com WebDriver Ferramentas Similares Leitura Recomendada Referencias
Pratica com WebDriver
Ferramentas Similares
Leitura Recomendada
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 125/131
Pratica com WebDriver Ferramentas Similares Leitura Recomendada Referencias
Pratica com WebDriver (1)
I Para praticar sugere-se o sıtio abaixo:I http://bdonline.sqe.com
I Login: atstesteI Password: atsteste123I Caso deseje criar uma nova conta, o Codigo de Autorizacao
(Authorization Code) e 11111111
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 126/131
Pratica com WebDriver Ferramentas Similares Leitura Recomendada Referencias
Pratica com WebDriver
Ferramentas Similares
Leitura Recomendada
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 127/131
Pratica com WebDriver Ferramentas Similares Leitura Recomendada Referencias
Ferramentas Similares
I Sikuli http://www.sikuli.org/
I AutoIthttps://www.autoitscript.com/site/autoit/
I Mobitaz http://www.msys-tech.com/mobitaz/
I Test Complete http://smartbear.com/products/qa-tools/automated-testing-tools/
I Outras alternativas estao disponıveis emhttp://alternativeto.net/software/selenium/
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 128/131
Pratica com WebDriver Ferramentas Similares Leitura Recomendada Referencias
Pratica com WebDriver
Ferramentas Similares
Leitura Recomendada
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 129/131
Pratica com WebDriver Ferramentas Similares Leitura Recomendada Referencias
Leitura Recomendada
Mais informacoes sobre esse tema podem ser encontrada em:
I Software Testing Help(http://www.softwaretestinghelp.com/)
I Open Source Java Developer Testing Tools – Coletanea deenderecos para varias ferramentas de teste de codigo livre(nao somente para programas Java) –http://www.opensourcetesting.org/
I Software Testing FAQs – Coletanea de enderecos para variasferramentas de teste –http://www.softwareqatest.com/
I Open Source Testing Tools in Java – http://java-source.net/open-source/testing-tools/
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 130/131
Pratica com WebDriver Ferramentas Similares Leitura Recomendada Referencias
Referencias I
Software Testing Help The best free selenium tutorials to learn and master selenium online – selenium trainingtutorial #1. Pagina Web, disponıvel em:http://www.softwaretestinghelp.com/selenium-tutorial-1/. Acesso em: 17/10/2014., 2014a.
Software Testing Help Getting started with selenium ide (installation and its features) – selenium tutorial #2.Pagina Web, disponıvel em: http://www.softwaretestinghelp.com/selenium-tutorial-2/.Acesso em: 17/10/2014., 2014b.
Software Testing Help How to identify web elements using selenium xpath and other locators – selenium tutorial#5. Pagina Web, disponıvel em: http://www.softwaretestinghelp.com/using-selenium-xpath-and-other-locators-selenium-tutorial-5/. Acesso em: 17/10/2014.,2014c.
Software Testing Help How to locate elements in chrome and ie browsers for building selenium scripts – seleniumtutorial #7. Pagina Web, disponıvel em: http://www.softwaretestinghelp.com/locate-elements-in-chrome-ie-selenium-tutorial-7/.Acesso em: 21/10/2014., 2014d.
Software Testing Help How to use css selector for identifying web elements for selenium scripts – selenium tutorial#6. Pagina Web, disponıvel em: http://www.softwaretestinghelp.com/css-selector-selenium-locator-selenium-tutorial-6/.Acesso em: 17/10/2014., 2014e.
Software Testing Help How to use firebug for creating selenium scripts – selenium tutorial #4. Pagina Web,disponıvel em: http://www.softwaretestinghelp.com/firebug-for-selenium-scripts-selenium-tutorial-4/.Acesso em: 17/10/2014., 2014f.
Software Testing Help Introduction to selenium webdriver – selenium tutorial #8. Pagina Web, disponıvel em:http://www.softwaretestinghelp.com/selenium-webdriver-selenium-tutorial-8/. Acessoem: 21/10/2014., 2014g.
Software Testing Help My first selenium ide script – selenium tutorial #3. Pagina Web, disponıvel em:http://www.softwaretestinghelp.com/selenium-ide-script-selenium-tutorial-3/. Acessoem: 17/10/2014., 2014h.
Vincenzi, Delamaro & Maldonado
Ferramenta Selenium– 2.8.0 131/131