Sei sulla pagina 1di 37

Testes Automatizados em Aplicaes Web

SELENIUM FRAMEWORK

DEFINIO

Selenium uma das mais populares sutes para


automatizar testes.
Desenvolvido de forma a apoiar e incentivar a
automatizao de testes funcionais de
aplicaes web em uma grande variedade de
navegadores (browsers).
open source e tornou-se uma das ferramentas
mais aceitas no mercado atualmente.

No apenas uma ferramenta e sim uma sute


de teste:
+

engloba vrias ferramentas para atender diferentes


requisitos e ambientes de teste.

de fcil uso e eficiente para desenvolver casos


de teste:
+

Permite os testes de aceitao ou funcional,


regresso e de desempenho.

ORIGEM DO SELENIUM

A ThoughtWorks precisava de uma ferramenta pata testar uma aplicao de rastreamento


de despesas pela web;

Os desenvolvedores estavam familiarizados com a ferramenta de teste Mercury (Agora


uma empresa da HP);

Iniciaram ento, o desenvolvimento da sua prpria ferramenta, chamada Selenium.

Criadores: Jason Huggins (Selenium Core), Paul Hammat, Patrick Lightbody (Selenium
RC).

4 / 28

PLATAFORMA

O Selenium oferece
suporte diversos
browsers (Firefox,
Safari, Opera, Chrome,
Internet Explore).
Quanto ao sistema
operacional, essa
ferramenta suporta as
plataformas Windows,
OS X, Linux, Solaris e
outros.

FERRAMENTAS INTEGRANTES DO SELENIUM

No apenas uma ferramenta:


uma sute de teste que engloba vrias
ferramentas para atender diferentes requisitos e
ambientes de teste.
O Selenium constitudo dos seguintes conjuntos
de ferramentas:
+
+
+
+

Selenium Integraded Development Environment (IDE)


Selenium Remote Control (RC)
Selenium WebDriver
Selenium Grid

CARACTERSTICAS

Suporte as linguagens Java, C#, Perl, PHP,


Python, Ruby, entre outras.
possvel executar testes em qualquer
navegador com suporte a JavaScript.
Suporta diversos Sistemas Operacionais.
Ambiente integrado para a elaborao dos
casos de teste.
Open source.

CARACTERSTICAS

Permite gravao e reproduo das aes feitas.


Autocomplete para todos os comandos do Selenium
comum.
Permite debug dos scripts e utilizao de
breakpoints.
Teste funcional com integrao a outras linguagens
e frameworks como PHPUnit.
Teste de regresso.
Teste de desempenho.

CARACTERSTICAS

Salvar testes em HTML, scripts Ruby, ou


qualquer outro formato.
Suporta extenses do usurio.
Pode ser customizado atravs de plugins.
Prov um vasto conjunto de comandos,
permitindo simulao do comportamento do
usurio e verificao do comportamento do
sistema.

SELENIUM IDE

SELENIUM IDE

um ambiente de desenvolvimento integrado


para construo de casos de teste.
Opera como uma extenso do Firefox e prov
interfaces amigveis para o desenvolvimento e
execuo de conjuntos de testes.

SELENIUM IDE

O Selenium IDE uma ferramenta do tipo


record-and-playback, ou seja, ela captura as
aes executadas pelo testador e gera um script
que permite a re-execuo das aes feitas,
automatizando assim, o teste.
Sua instalao simples: basta abrir o arquivo
de instalao pelo Firefox.

SELENIUM IDE

Com ele possvel exportar o teste gravado


para diversas linguagens, por exemplo, HTML,
Java, .NET, Perl, Ruby, etc
Os testes exportados podem ser executados em
qualquer navegador e qualquer plataforma
usando o componente Selenium RC

SELENIUM IDE
Execuo
dos comandos

Especificao
dos comandos

Grava as aes
do usurio

SELENIUM IDE
Endereo do
sistema que
ser testado.

Registro dos
eventos
executados,
incluindo
eventuais
erros

Lista de aes
executadas.

SELENIUM REMOTE CONTROL (RC)

SELENIUM RC

Segue uma Arquitetura Cliente Servidor


Servidor escrito em Java (portabilidade)
Flexibilidade de browsers
Algumas das tarefas atribudas ao Servidor so:
+
+
+
+

Receber requisies HTTP


Lanar e fechar browsers
Interpretar comandos Selenese
Proxy HTTP

SELENIUM RC

Selenium RC vem em duas partes.


+

Um servidor que inicia automaticamente e mata


navegadores, e atua como um proxy HTTP para
solicitaes da Web a partir deles.
bibliotecas do cliente para a sua linguagem de
computador favorito.

SELENIUM RC
Vrios browsers/S.O.s

Cdigos dos testes

SELENIUM GRID

SELENIUM GRID

Permite distribuir os testes em mltiplas mquinas:


+

Menor tempo gasto pra executar um conjunto de testes.

ideal para agrupar conjuntos de testes grandes ou


conjuntos que devem ser executadas em mltiplos
ambientes.
Atua executando mltiplas instncias do Selenium
RC em paralelo de forma transparente:
+

faz com que os testes no precisem se preocupar com a


infra-estrutura utilizada.

Roda em Nuvem ou em Clusters de Servidores


+

Cluster: Servidor Hub distribui o teste para vrias


maquinas rodando Selenium RC
Nuvem: Testes podem ser rodados em servidores
nas Nuvens.

SELENIUM GRID

SELENIUM WEBDRIVER

SELENIUM WEBDRIVER

WebDriver usa extenses ou recursos nativos oferecidos


pelo prprio navegador para control-lo diretamente.
uma pequena API no prprio Selenium, que permite
suportar melhor as pginas web dinmicas, onde
elementos de uma pgina podem ser alterados sem a
prpria pgina que est sendo recarregado.
O objetivo da WebDriver fornecer uma API orientada a
objeto bem concebido que fornece suporte melhorado
para problemas avanados modernos testes de
web-app.

SELENESE

a sintaxe dos comandos gerados pelo


Selenium, onde um teste escrito em Selenese
basicamente composto por uma tabela
contendo trs colunas.
usado no IDE e no RC
Uma coluna usada para operao e as duas
restantes so usadas para os argumentos:
Comando 1

Alvo 1 Valor 1

Comando 2

Alvo 2 Valor 2

Comando n

Alvo n Valor n

SELENESE

Alvos e valores so parmetros a serem usados


em alguma funo do Core

Exemplo de Caso de Teste com Selenese

COMANDO, ALVO, VALOR

Comando: local onde se digita a instruo a ser


executada;
Alvo: primeiro parametro da funo a ser
executado. utilizado para informar qual o
id/nome a ser buscado;
Valor (Assertions): utilizado para identificar o
campo que contem o valor contido no Alvo.
+
+

Todos os valores podem ser utilizadas em trs modos:


assert", "verify e "waitFor".
Por exemplo, voc pode utilizar "assertText",
"verifyText e "waitForText".

ALGUNS COMANDOS COMUNS

Open : Abre uma pgina URL.


click/clickAndWait: Executa um clique e, opcionalmente, espera por uma
nova pgina carregar.
verifyTitle/assertTitle: Verifica o ttulo da pgina.
verifyTextPresent: Verifica se o texto esperado est na pgina.
verifyElementPresent: Verifica se um elemento UI esperado, conforme
definido pelo seu cdigo HTML, est presente na pgina.
verifyText: verifica se o texto esperado e sua tag HTML correspondente esto
presentes na pgina.
verifyTable: verifica o contedo esperado de uma tabela.
waitForPageToLoad: interrompe a execuo at que uma nova pgina seja
carregada. Chamado automaticamente quando clickAndWait usado.
waitForElementPresent: interrompe a execuo at que um elemento da
interface do usurio esperado, conforme definido pelo seu cdigo HTML,
esteja presente na pgina.

Instalao e Utilizao da Ferramenta Selenium IDE

SELENIUM IDE

POR QUE USAR O SELENIUM?

Pode ser importada nas mais populares IDEs;


Utilizada por equipes de teste funcional, teste de
regresso e teste
Executa testes em paralelo
Economiza tempo e mais rpido
Selenium GRTIS
Sem custos de licenciamento.
Pode ser implantada em quantas mquinas forem
necessrias de aceitao do usurio

INSTALAO

O Selenium IDE um plugin do Firefox e para


ser baixado, necessrio ir ao endereo:
http://www.seleniumhq.org/download/

INSTALAO

Voc ser redirecionado para a pgina de


plug-ins do Firefox.
Depois de efetuar a instalao, reinicia o
Firefox, para verificar se est inslatado

INSTALAO

Para abrir o Selenium IDE, basta ir em


Ferramentas, no menu do Firefox e abrir o IDE,
ou acessar as teclas Ctrl + Alt + S:

SELENIUM IDE VDEO AULA

https://www.youtube.com/watch?v=CQJDnNSte3k

https://www.youtube.com/watch?v=tmVvJlwGQGk

https://www.youtube.com/watch?v=bZA_auUm0D0

BIBLIOGRAFIA

http://pt.slideshare.net/AndrCaldas1/98796699-seleniumframe
work

http://docslide.com.br/documents/manual-de-utilizacao-do-sele
nium-ide.html - Manual de Utilizao do Selenium IDE

http://www.nti.ufpb.br/~caroline/curso/Aula04-Curso%20de%20Tes
tes%20de%20Software%20-%20NTI.pdf

http://www.espweb.uem.br/site/files/tcc/2011/Diego%20Varussa%2
0Pereira%20-%20Estudo%20da%20ferramenta%20Selenium%20ID
E%20para%20testes%20automatizados%20de%20aplicacoes%20w
eb.pdf

BIBLIOGRAFIA

http://www.slideserve.co.uk/selenium-130704114000-phpapp01
-pdf

http://pt.slideshare.net/powerirs/automao-de-teste-funcionais-sele
nium-3936751

http://www.seleniumhq.org/docs/02_selenium_ide.jsp

http://gutspb.blogspot.com.br/2013/02/selenium-uma-boa-opcao-o
pen-source-para.html

Potrebbero piacerti anche