132
Organizac~ao Ferramenta Selenium{ 2.8.0 Automatizac~aodeTesteWeb Auri Marcelo Rizzo Vincenzi 1 , Marcio Eduardo Delamaro 2 e Jos e Carlos Maldonado 2 1 Instituto de Informatica Universidade Federal de Goi as 2 Instituto de Ci^ enciasMatematicasedeComputac~ao Universidade de S~ao 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

Ferramenta Selenium{ 2.8

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

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