• Save
Testes Funcionais com Selenium
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Testes Funcionais com Selenium

on

  • 7,439 views

Palestra ministrada na SINFO-UFRN, demonstrando a forma de como é feito testes funcionais na empresa

Palestra ministrada na SINFO-UFRN, demonstrando a forma de como é feito testes funcionais na empresa

Statistics

Views

Total Views
7,439
Views on SlideShare
4,967
Embed Views
2,472

Actions

Likes
4
Downloads
1
Comments
0

11 Embeds 2,472

http://cachina.wordpress.com 2208
http://blog.cachina.com.br 184
http://cachina.com.br 42
https://cachina.wordpress.com 21
http://mayroncachina.net 4
http://translate.googleusercontent.com 4
http://webcache.googleusercontent.com 4
http://www.slideshare.net 2
url_unknown 1
http://www.google.com 1
http://digg.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Testes Funcionais com Selenium Presentation Transcript

  • 1. 1 TESTES FUNCIONAIS COM O 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
  • 6. 6 Teste Salvo
  • 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 ● ...
  • 8. 8 Executando testes pela IDE
  • 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
  • 12. 12 Servidor
  • 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!")); } }
  • 19. 19 Executando
  • 20. 20 PROCESSO
  • 21. 21 OBRIGADO Mayron Cachina mayroncachina@gmail.com http://cachina.com.br