SlideShare uma empresa Scribd logo
1 de 21
1




TESTES FUNCIONAIS
 COM O SELENIUM
2


                          SELENIUM

●   Selenium IDE
    ●
        Extensão do FF, que permite gravar, editar, executar testes.

●   Selenium Remote Control
    ●   Bibliotecas e servidor para executar os testes.
●   Selenium Grid
    ●   Distribuição de testes em multiplas máquinas
3


              SELENIUM IDE

●   Extensão do FireFox que possibilita a
    gravação de testes na sua aplicação web.


●   Não é apenas um gravador ou editor de
    testes, é uma ferramenta completa, onde
    pode até mesmo executar os seus testes.
4


SELENIUM IDE
 Ferramentas > Selenium IDE
5


                    SELENIUM IDE
                                             URL Padrão
                                             para o teste




    Executar
     Testes


                                          Indica que está sendo
                                            gravado um testes
Suíte de Testes



Lista de comandos
    Executados
 nessa gravação




                                              Área de
                                          Novos Comandos




                             Comandos
                             Executados
6


Teste Salvo
7


            Comandos SELENIUM IDE

● Open
● Assert Title

● Click and Wait

● Click

● Type

● Wait

● Close

● Go Back

● Is Text Present

● Key Down

● Key Press

● Key Up

● Refresh

● Submit

● Uncheck

● Check

● ...
8


Executando testes pela IDE
9


      Exportando o teste para Java
             Arquivo > Exportar Teste Como.. > Java (Junit) Selenium RC

package com.example.tests;

import com.thoughtworks.selenium.*;
import java.util.regex.Pattern;

public class busca extends SeleneseTestCase {
     public void setUp() throws Exception {
           setUp("http://change-this-to-the-site-you-are-testing/", "*iexplore");
     }
     public void testBusca() throws Exception {
           selenium.open("/admin/configuracoes/papeis/lista_usuario_papel.jsf");
           selenium.select("form:sistema", "label=SIGAA");
           selenium.select("form:sistema", "label=SIGAA");
           selenium.select("form:subsistema", "label=BIBLIOTECA");
           selenium.select("form:subsistema", "label=BIBLIOTECA");
           selenium.click("//option[@value='14000']");
           selenium.click("//option[@value='14000']");
           selenium.select("form:papeis", "label=BIBLIOTECA_ADMINISTRADOR_LOCAL");
           selenium.select("form:papeis", "label=BIBLIOTECA_ADMINISTRADOR_LOCAL");
           selenium.click("form:j_id_jsp_513967898_19");
           selenium.click("form:j_id_jsp_513967898_19");
     }
}
10


SELENIUN REMOTE CONTROL (RC)
●   Ferramenta auxiliar do Selenium IDE.
●   Realiza os testes gravados em outros browser.
●   É uma ferramenta tipo record-and-playback
●   Não permite com o teste, ou seja modifica-lo para usar várias
    condições.
●   Algumas linguagens suportadas:
    ●   Java
    ●   .Net
    ●   Python
    ●   Ruby
    ●   PHP
11
12


Servidor
13


              SELENIUM GRID

●   Distribui os testes em múltiplas
    máquinas.
●   Reduz o tempo gasto na execução de
    uma suíte de testes.
14


                 Classe TestSuite
package br.ufrn.admin.jsf.tests;

import   org.junit.AfterClass;
import   org.junit.BeforeClass;
import   org.junit.runner.RunWith;
import   org.junit.runners.Suite;
import   com.thoughtworks.selenium.DefaultSelenium;

@RunWith(Suite.class)
@Suite.SuiteClasses( { UnidadeTests.class })
public class SigadminTestSuite extends WebTestCase {

     @BeforeClass
     public static void setUp() throws Exception {
              selenium = new DefaultSelenium("localhost", 4567,
"*firefox3",
"http://localhost:8080/admin/");
              selenium.start();

               selenium.open("http://localhost:8080/admin/login.jsf");
               selenium.type("login", "mayron");
               selenium.type("senha", "mayron");
               selenium.click("logar");
               selenium.waitForPageToLoad("200000");
    }

    @AfterClass
    public static void tearDown() throws Exception {
             selenium.stop();
    }
}
15


Elementos do TestSuite
@Suite.SuiteClasses( {
MaterialTreinamentoMBeanTests.class,
TipoMaterialTreinamentoMBeanTests.class,
TemplateDeDocumentoTests.class,
TipoDocumentoTemplateTest.class,
MensagemAvisoTests.class,
ConfiguracaoSistemasTest.class,
DadosInstitucionaisTest.class,
MaterialDeTreinamentoTests.class,
TipoDeAmbienteTests.class,
UsuarioAmbienteTests.class,
RegistroEntradaTests.class,
ConsultaErrosTests.class,
RegistrarAcessoPuplicoTests.class,
LogOperacoesTests.class,
LogServidorTests.class,
LogJbcTests.class,
ComunicacaoGrupo.class,
NotificacaoOnline.class,
AvisoSistema.class,
DocumentosTests.class,
EventosTests.class,
SessoesTests.class,
BoletimTests.class,
ClippingTests.class,
JornalTests.class,
RecusosSistemaTests.class,
UnidadeTests.class,
PermissoesTests.class,

})
16


                   Lista de Browser
●   *mock
●   *chrome
●   *iexplore
●   *firefox3
●   *safariproxy
●   *konqueror
●   *safari
●   *opera
●   *iehta
●   *custom
17


                       Preparando a JSP

●   No form a opção prependId como false e
    ids em todos os campos de formulário.

                  <h:form id="formulario"      prependId="false">


     <h:inputText value="#{boletim.noticia.titulo}" id="noticia" style="width: 600px;"/>


<h:commandButton id="cadastrar" value="#{boletim.confirmButton}" action="#{boletim.cadastrar}"/>
18


                   Escrevendo o Teste
package br.ufrn.admin.jsf.tests.suportetecnico;

import org.junit.Test;

import br.ufrn.arq.tests.WebTestCase;
import static org.junit.Assert.*;

public class TipoDeAmbienteTests extends WebTestCase {

    @Test
    public void cadastradoComSucesso() {
        selenium.open("/admin/suporte_tecnico/TipoAmbiente/form.jsf");
        selenium.type("nomeAmbiente", "AMBIENTE2");
        selenium.click("cadastrar");
        selenium.waitForPageToLoad("30000");
        assertTrue(selenium.isTextPresent("Operação realizada com sucesso!"));

    }
}
19


Executando
20


PROCESSO
21


     OBRIGADO




     Mayron Cachina
mayroncachina@gmail.com
  http://cachina.com.br

Mais conteúdo relacionado

Mais procurados

Selenium
SeleniumSelenium
Seleniumfatec
 
Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de SeleniumAutotic
 
Testes de unidade e TDD SoLiSC 2011
Testes de unidade e TDD SoLiSC 2011Testes de unidade e TDD SoLiSC 2011
Testes de unidade e TDD SoLiSC 2011Luís Cobucci
 
Automatização de testes funcionais com selenium etapa 1
Automatização de testes funcionais com selenium  etapa 1Automatização de testes funcionais com selenium  etapa 1
Automatização de testes funcionais com selenium etapa 1Cintia Armesto
 
JUnit: framework de testes unitários
JUnit: framework de testes unitáriosJUnit: framework de testes unitários
JUnit: framework de testes unitárioselliando dias
 
Iniciando com o_zend_framework
Iniciando com o_zend_frameworkIniciando com o_zend_framework
Iniciando com o_zend_frameworkMilton Rodrigues
 
Teste de aplicações web com selenium
Teste de aplicações web com seleniumTeste de aplicações web com selenium
Teste de aplicações web com seleniumMayron Cachina
 
Minicurso Play Framework - Tão fácil que nem parece Java
Minicurso Play Framework - Tão fácil que nem parece JavaMinicurso Play Framework - Tão fácil que nem parece Java
Minicurso Play Framework - Tão fácil que nem parece JavaWandesson Soares
 
Introdução a testes de software utilizando selenium
Introdução a testes de software utilizando seleniumIntrodução a testes de software utilizando selenium
Introdução a testes de software utilizando seleniumSandy Maciel
 
Testes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizadosTestes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizadosDiego Santos
 
Introdução ao Asp.NET MVC
Introdução ao Asp.NET MVCIntrodução ao Asp.NET MVC
Introdução ao Asp.NET MVCBenicio Ávila
 
Curso treinamento automação de testes com selenium
Curso treinamento automação de testes com seleniumCurso treinamento automação de testes com selenium
Curso treinamento automação de testes com seleniumCristiano Caetano
 

Mais procurados (20)

Selenium
SeleniumSelenium
Selenium
 
Maven introdução Muito Rápida
Maven introdução Muito RápidaMaven introdução Muito Rápida
Maven introdução Muito Rápida
 
Selenium ide apresentação
Selenium ide   apresentaçãoSelenium ide   apresentação
Selenium ide apresentação
 
Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de Selenium
 
Testes de unidade e TDD SoLiSC 2011
Testes de unidade e TDD SoLiSC 2011Testes de unidade e TDD SoLiSC 2011
Testes de unidade e TDD SoLiSC 2011
 
Automatização de testes funcionais com selenium etapa 1
Automatização de testes funcionais com selenium  etapa 1Automatização de testes funcionais com selenium  etapa 1
Automatização de testes funcionais com selenium etapa 1
 
Selenium ide
Selenium ideSelenium ide
Selenium ide
 
JUnit: framework de testes unitários
JUnit: framework de testes unitáriosJUnit: framework de testes unitários
JUnit: framework de testes unitários
 
Iniciando com o_zend_framework
Iniciando com o_zend_frameworkIniciando com o_zend_framework
Iniciando com o_zend_framework
 
Teste de aplicações web com selenium
Teste de aplicações web com seleniumTeste de aplicações web com selenium
Teste de aplicações web com selenium
 
Selenium: visão geral
Selenium: visão geralSelenium: visão geral
Selenium: visão geral
 
Minicurso Play Framework - Tão fácil que nem parece Java
Minicurso Play Framework - Tão fácil que nem parece JavaMinicurso Play Framework - Tão fácil que nem parece Java
Minicurso Play Framework - Tão fácil que nem parece Java
 
Introdução a testes de software utilizando selenium
Introdução a testes de software utilizando seleniumIntrodução a testes de software utilizando selenium
Introdução a testes de software utilizando selenium
 
Introducao logica2
Introducao logica2Introducao logica2
Introducao logica2
 
Testes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizadosTestes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizados
 
Hands On Selenium
Hands On SeleniumHands On Selenium
Hands On Selenium
 
Java 03
Java 03Java 03
Java 03
 
Introdução ao Asp.NET MVC
Introdução ao Asp.NET MVCIntrodução ao Asp.NET MVC
Introdução ao Asp.NET MVC
 
Curso treinamento automação de testes com selenium
Curso treinamento automação de testes com seleniumCurso treinamento automação de testes com selenium
Curso treinamento automação de testes com selenium
 
CVS
CVSCVS
CVS
 

Semelhante a Testes Funcionais com Selenium

Testes de regressão automatizados
Testes de regressão automatizadosTestes de regressão automatizados
Testes de regressão automatizadosCristian R. Silva
 
Testes de Unidade com Junit
Testes de Unidade com JunitTestes de Unidade com Junit
Testes de Unidade com Junitcejug
 
TDC 2014 SP - E o DeltaSpike ?
TDC 2014 SP - E o DeltaSpike ?TDC 2014 SP - E o DeltaSpike ?
TDC 2014 SP - E o DeltaSpike ?Rafael Benevides
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorAllyson Barros
 
CDI Extensions e DeltaSpike
CDI Extensions e DeltaSpikeCDI Extensions e DeltaSpike
CDI Extensions e DeltaSpikeRafael Benevides
 
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosParalelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosElias Nogueira
 
Qualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnitQualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnitDiego Tremper
 
Demoiselle Behave - Parte 2
Demoiselle Behave - Parte 2Demoiselle Behave - Parte 2
Demoiselle Behave - Parte 2Vanderson Silva
 
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2Cezar Souza
 
Criando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com AppiumCriando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com AppiumElias Nogueira
 
Automação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilElias Nogueira
 
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...Edlaine Zamora
 
Desenvolvimento Guiado por Testes
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testeselliando dias
 
TDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fislTDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fislAdriano Petrich
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptxCarlos Gonzaga
 
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)Júlio de Lima
 

Semelhante a Testes Funcionais com Selenium (20)

Testes de regressão automatizados
Testes de regressão automatizadosTestes de regressão automatizados
Testes de regressão automatizados
 
Testes de Unidade com Junit
Testes de Unidade com JunitTestes de Unidade com Junit
Testes de Unidade com Junit
 
TDC 2014 SP - E o DeltaSpike ?
TDC 2014 SP - E o DeltaSpike ?TDC 2014 SP - E o DeltaSpike ?
TDC 2014 SP - E o DeltaSpike ?
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
 
CDI Extensions e DeltaSpike
CDI Extensions e DeltaSpikeCDI Extensions e DeltaSpike
CDI Extensions e DeltaSpike
 
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosParalelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
 
Qualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnitQualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnit
 
Demoiselle Behave - Parte 2
Demoiselle Behave - Parte 2Demoiselle Behave - Parte 2
Demoiselle Behave - Parte 2
 
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
ZF2 básico : Desenvolvendo um Blog com o Zend Framework 2
 
Criando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com AppiumCriando uma grid para execução de testes paralelo com Appium
Criando uma grid para execução de testes paralelo com Appium
 
Aula1
Aula1Aula1
Aula1
 
Automação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira Ágil
 
Infrastructure Testing
Infrastructure TestingInfrastructure Testing
Infrastructure Testing
 
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
 
Desenvolvimento Guiado por Testes
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testes
 
TDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fislTDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fisl
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptx
 
Desafio Rest API
Desafio Rest APIDesafio Rest API
Desafio Rest API
 
JUnit
JUnitJUnit
JUnit
 
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)
[TDC2016] Ruby in Tests: Automatizando testes de Unidade, API e GUI (Web)
 

Mais de Mayron Cachina

PotiLivre, uma comunidade de software livre voltada para você!
PotiLivre, uma comunidade de software livre voltada para você!PotiLivre, uma comunidade de software livre voltada para você!
PotiLivre, uma comunidade de software livre voltada para você!Mayron Cachina
 
[#DevCast] Quero Desenvolver para phonegap, e agora? O que eu faço?
[#DevCast] Quero Desenvolver para phonegap, e agora? O que eu faço?[#DevCast] Quero Desenvolver para phonegap, e agora? O que eu faço?
[#DevCast] Quero Desenvolver para phonegap, e agora? O que eu faço?Mayron Cachina
 
Apresentação GDG Natal FLISOL NATAL 2013
Apresentação GDG Natal FLISOL NATAL 2013Apresentação GDG Natal FLISOL NATAL 2013
Apresentação GDG Natal FLISOL NATAL 2013Mayron Cachina
 
Apresentação GDG Natal
Apresentação GDG NatalApresentação GDG Natal
Apresentação GDG NatalMayron Cachina
 
Como ganhar dinheiro no mundo mobile
Como ganhar dinheiro no mundo mobile Como ganhar dinheiro no mundo mobile
Como ganhar dinheiro no mundo mobile Mayron Cachina
 
Desenvolvendo para Android com PhoneGap
Desenvolvendo para Android com PhoneGapDesenvolvendo para Android com PhoneGap
Desenvolvendo para Android com PhoneGapMayron Cachina
 
Desenvolvendo Aplicativos com Android
Desenvolvendo Aplicativos com AndroidDesenvolvendo Aplicativos com Android
Desenvolvendo Aplicativos com AndroidMayron Cachina
 
Jogos em Python utilizando PyGame
Jogos em Python utilizando PyGameJogos em Python utilizando PyGame
Jogos em Python utilizando PyGameMayron Cachina
 
CTE - Controle de Estoque
CTE - Controle de EstoqueCTE - Controle de Estoque
CTE - Controle de EstoqueMayron Cachina
 
Web 2.0 + Poder ao usuario
Web 2.0 + Poder ao usuarioWeb 2.0 + Poder ao usuario
Web 2.0 + Poder ao usuarioMayron Cachina
 
Orientação a Objetos - Conceitos
Orientação a Objetos - ConceitosOrientação a Objetos - Conceitos
Orientação a Objetos - ConceitosMayron Cachina
 
Introdução a linguagem de programação Python
Introdução a linguagem de programação PythonIntrodução a linguagem de programação Python
Introdução a linguagem de programação PythonMayron Cachina
 
Ferramentas para web, Desenvolvendo fácil
Ferramentas para web, Desenvolvendo fácilFerramentas para web, Desenvolvendo fácil
Ferramentas para web, Desenvolvendo fácilMayron Cachina
 
Workshop (Mozilla Party) Desenvolvendo Extensões para o Firefox 3.0
Workshop (Mozilla Party)  Desenvolvendo Extensões para o Firefox 3.0Workshop (Mozilla Party)  Desenvolvendo Extensões para o Firefox 3.0
Workshop (Mozilla Party) Desenvolvendo Extensões para o Firefox 3.0Mayron Cachina
 

Mais de Mayron Cachina (20)

PotiLivre, uma comunidade de software livre voltada para você!
PotiLivre, uma comunidade de software livre voltada para você!PotiLivre, uma comunidade de software livre voltada para você!
PotiLivre, uma comunidade de software livre voltada para você!
 
[#DevCast] Quero Desenvolver para phonegap, e agora? O que eu faço?
[#DevCast] Quero Desenvolver para phonegap, e agora? O que eu faço?[#DevCast] Quero Desenvolver para phonegap, e agora? O que eu faço?
[#DevCast] Quero Desenvolver para phonegap, e agora? O que eu faço?
 
Poti Livre
Poti LivrePoti Livre
Poti Livre
 
Desbravando o HTML5
Desbravando o HTML5Desbravando o HTML5
Desbravando o HTML5
 
Apresentação GDG Natal FLISOL NATAL 2013
Apresentação GDG Natal FLISOL NATAL 2013Apresentação GDG Natal FLISOL NATAL 2013
Apresentação GDG Natal FLISOL NATAL 2013
 
Apresentação GDG Natal
Apresentação GDG NatalApresentação GDG Natal
Apresentação GDG Natal
 
Como ganhar dinheiro no mundo mobile
Como ganhar dinheiro no mundo mobile Como ganhar dinheiro no mundo mobile
Como ganhar dinheiro no mundo mobile
 
Desenvolvendo para Android com PhoneGap
Desenvolvendo para Android com PhoneGapDesenvolvendo para Android com PhoneGap
Desenvolvendo para Android com PhoneGap
 
Desenvolvendo Aplicativos com Android
Desenvolvendo Aplicativos com AndroidDesenvolvendo Aplicativos com Android
Desenvolvendo Aplicativos com Android
 
Python com django
Python com djangoPython com django
Python com django
 
Servidores WEB
Servidores WEBServidores WEB
Servidores WEB
 
Jogos em Python utilizando PyGame
Jogos em Python utilizando PyGameJogos em Python utilizando PyGame
Jogos em Python utilizando PyGame
 
CTE - Controle de Estoque
CTE - Controle de EstoqueCTE - Controle de Estoque
CTE - Controle de Estoque
 
Web 2.0 + Poder ao usuario
Web 2.0 + Poder ao usuarioWeb 2.0 + Poder ao usuario
Web 2.0 + Poder ao usuario
 
Orientação a Objetos - Conceitos
Orientação a Objetos - ConceitosOrientação a Objetos - Conceitos
Orientação a Objetos - Conceitos
 
Introdução a linguagem de programação Python
Introdução a linguagem de programação PythonIntrodução a linguagem de programação Python
Introdução a linguagem de programação Python
 
Ferramentas para web, Desenvolvendo fácil
Ferramentas para web, Desenvolvendo fácilFerramentas para web, Desenvolvendo fácil
Ferramentas para web, Desenvolvendo fácil
 
Acessibilidade
AcessibilidadeAcessibilidade
Acessibilidade
 
Workshop (Mozilla Party) Desenvolvendo Extensões para o Firefox 3.0
Workshop (Mozilla Party)  Desenvolvendo Extensões para o Firefox 3.0Workshop (Mozilla Party)  Desenvolvendo Extensões para o Firefox 3.0
Workshop (Mozilla Party) Desenvolvendo Extensões para o Firefox 3.0
 
Firefox 3, novidades
Firefox 3, novidadesFirefox 3, novidades
Firefox 3, novidades
 

Último

CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdfLeloIurk1
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
Bloco de português com artigo de opinião 8º A, B 3.docx
Bloco de português com artigo de opinião 8º A, B 3.docxBloco de português com artigo de opinião 8º A, B 3.docx
Bloco de português com artigo de opinião 8º A, B 3.docxkellyneamaral
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxLusGlissonGud
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfHELENO FAVACHO
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSOLeloIurk1
 

Último (20)

CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Bloco de português com artigo de opinião 8º A, B 3.docx
Bloco de português com artigo de opinião 8º A, B 3.docxBloco de português com artigo de opinião 8º A, B 3.docx
Bloco de português com artigo de opinião 8º A, B 3.docx
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptx
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
 

Testes Funcionais com Selenium

  • 2. 2 SELENIUM ● Selenium IDE ● Extensão do FF, que permite gravar, editar, executar testes. ● Selenium Remote Control ● Bibliotecas e servidor para executar os testes. ● Selenium Grid ● Distribuição de testes em multiplas máquinas
  • 3. 3 SELENIUM IDE ● Extensão do FireFox que possibilita a gravação de testes na sua aplicação web. ● Não é apenas um gravador ou editor de testes, é uma ferramenta completa, onde pode até mesmo executar os seus testes.
  • 4. 4 SELENIUM IDE Ferramentas > Selenium IDE
  • 5. 5 SELENIUM IDE URL Padrão para o teste Executar Testes Indica que está sendo gravado um testes Suíte de Testes Lista de comandos Executados nessa gravação Área de Novos Comandos Comandos Executados
  • 7. 7 Comandos SELENIUM IDE ● Open ● Assert Title ● Click and Wait ● Click ● Type ● Wait ● Close ● Go Back ● Is Text Present ● Key Down ● Key Press ● Key Up ● Refresh ● Submit ● Uncheck ● Check ● ...
  • 9. 9 Exportando o teste para Java Arquivo > Exportar Teste Como.. > Java (Junit) Selenium RC package com.example.tests; import com.thoughtworks.selenium.*; import java.util.regex.Pattern; public class busca extends SeleneseTestCase { public void setUp() throws Exception { setUp("http://change-this-to-the-site-you-are-testing/", "*iexplore"); } public void testBusca() throws Exception { selenium.open("/admin/configuracoes/papeis/lista_usuario_papel.jsf"); selenium.select("form:sistema", "label=SIGAA"); selenium.select("form:sistema", "label=SIGAA"); selenium.select("form:subsistema", "label=BIBLIOTECA"); selenium.select("form:subsistema", "label=BIBLIOTECA"); selenium.click("//option[@value='14000']"); selenium.click("//option[@value='14000']"); selenium.select("form:papeis", "label=BIBLIOTECA_ADMINISTRADOR_LOCAL"); selenium.select("form:papeis", "label=BIBLIOTECA_ADMINISTRADOR_LOCAL"); selenium.click("form:j_id_jsp_513967898_19"); selenium.click("form:j_id_jsp_513967898_19"); } }
  • 10. 10 SELENIUN REMOTE CONTROL (RC) ● Ferramenta auxiliar do Selenium IDE. ● Realiza os testes gravados em outros browser. ● É uma ferramenta tipo record-and-playback ● Não permite com o teste, ou seja modifica-lo para usar várias condições. ● Algumas linguagens suportadas: ● Java ● .Net ● Python ● Ruby ● PHP
  • 11. 11
  • 13. 13 SELENIUM GRID ● Distribui os testes em múltiplas máquinas. ● Reduz o tempo gasto na execução de uma suíte de testes.
  • 14. 14 Classe TestSuite package br.ufrn.admin.jsf.tests; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.runner.RunWith; import org.junit.runners.Suite; import com.thoughtworks.selenium.DefaultSelenium; @RunWith(Suite.class) @Suite.SuiteClasses( { UnidadeTests.class }) public class SigadminTestSuite extends WebTestCase { @BeforeClass public static void setUp() throws Exception { selenium = new DefaultSelenium("localhost", 4567, "*firefox3", "http://localhost:8080/admin/"); selenium.start(); selenium.open("http://localhost:8080/admin/login.jsf"); selenium.type("login", "mayron"); selenium.type("senha", "mayron"); selenium.click("logar"); selenium.waitForPageToLoad("200000"); } @AfterClass public static void tearDown() throws Exception { selenium.stop(); } }
  • 15. 15 Elementos do TestSuite @Suite.SuiteClasses( { MaterialTreinamentoMBeanTests.class, TipoMaterialTreinamentoMBeanTests.class, TemplateDeDocumentoTests.class, TipoDocumentoTemplateTest.class, MensagemAvisoTests.class, ConfiguracaoSistemasTest.class, DadosInstitucionaisTest.class, MaterialDeTreinamentoTests.class, TipoDeAmbienteTests.class, UsuarioAmbienteTests.class, RegistroEntradaTests.class, ConsultaErrosTests.class, RegistrarAcessoPuplicoTests.class, LogOperacoesTests.class, LogServidorTests.class, LogJbcTests.class, ComunicacaoGrupo.class, NotificacaoOnline.class, AvisoSistema.class, DocumentosTests.class, EventosTests.class, SessoesTests.class, BoletimTests.class, ClippingTests.class, JornalTests.class, RecusosSistemaTests.class, UnidadeTests.class, PermissoesTests.class, })
  • 16. 16 Lista de Browser ● *mock ● *chrome ● *iexplore ● *firefox3 ● *safariproxy ● *konqueror ● *safari ● *opera ● *iehta ● *custom
  • 17. 17 Preparando a JSP ● No form a opção prependId como false e ids em todos os campos de formulário. <h:form id="formulario" prependId="false"> <h:inputText value="#{boletim.noticia.titulo}" id="noticia" style="width: 600px;"/> <h:commandButton id="cadastrar" value="#{boletim.confirmButton}" action="#{boletim.cadastrar}"/>
  • 18. 18 Escrevendo o Teste package br.ufrn.admin.jsf.tests.suportetecnico; import org.junit.Test; import br.ufrn.arq.tests.WebTestCase; import static org.junit.Assert.*; public class TipoDeAmbienteTests extends WebTestCase { @Test public void cadastradoComSucesso() { selenium.open("/admin/suporte_tecnico/TipoAmbiente/form.jsf"); selenium.type("nomeAmbiente", "AMBIENTE2"); selenium.click("cadastrar"); selenium.waitForPageToLoad("30000"); assertTrue(selenium.isTextPresent("Operação realizada com sucesso!")); } }
  • 21. 21 OBRIGADO Mayron Cachina mayroncachina@gmail.com http://cachina.com.br