SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
SELENIUM:
  visão geral



Marcelo Andrade
Testes de software




                     SELENIUM: visão geral
Testes de software


        Técnicas
         ● caixa preta

         ● caixa branca




        Fases
         ● Unitários

         ● Integração

         ● Sistema

         ● Desempenho

         ● Funcionais




                          SELENIUM: visão geral
Selenium


 SELENIUM
 suíte de ferramentas para
 automatização de testes de
 aplicações web em múltiplas
 plataformas.

 http://seleniumhq.org




                         SELENIUM: visão geral
Selenium


 SELENIUM
 suíte de ferramentas para
 automatização de testes de
 aplicações web em múltiplas
 plataformas.

 http://seleniumhq.org




                         SELENIUM: visão geral
Selenium


      SELENIUM
      suíte de ferramentas para
      automatização de testes de
      aplicações web em múltiplas
      plataformas.

Selenium IDE
Selenium Core
Selenium Remote-Control
Selenium Grid
...

                              SELENIUM: visão geral
Talk is cheap. Show me the code.




                        SELENIUM: visão geral
Talk is cheap. Show me the code.




                        SELENIUM: visão geral
Talk is cheap. Show me the code.




              1. no campo “usuario” digitar “admin”




                                  SELENIUM: visão geral
Talk is cheap. Show me the code.




              2. no campo “senha” digitar “123456”




                                 SELENIUM: visão geral
Talk is cheap. Show me the code.




            3. clicar no botão “Confirmar”




                                   SELENIUM: visão geral
Talk is cheap. Show me the code.




           4. verificar se surge na tela a indicação
             “USUÁRIO: ADMINISTRADOR DO
                           SISTEMA”




                                      SELENIUM: visão geral
Talk is cheap. Show me the code.




                        SELENIUM: visão geral
Talk is cheap. Show me the code.




                        SELENIUM: visão geral
Considerações


1. É importante ter uma massa de
   dados de entrada conhecida

 Como saber se “admin/123456” o login
 deve ser efetuado ou não? O caso
 deveria ser de sucesso ou de falha?




                                        SELENIUM: visão geral
Considerações


1. É importante ter uma massa de
   dados de entrada conhecida

 Como saber se “admin/123456” o login
 deve ser efetuado ou não? O caso
 deveria ser de sucesso ou de falha?

 → scripts de automatização e
 versionamento de bancos de dados são
 chamados de fixtures.




                                        SELENIUM: visão geral
Considerações


2. É importante ter um padrão de
   código para interface conhecido

 Como alguém diferente do implementador
 saberia que o nome do botão “Confirmar”
 seria btnLogin?




                                           SELENIUM: visão geral
Considerações


2. É importante ter um padrão de
   código para interface conhecido

 Como alguém diferente do implementador
 saberia que o nome do botão “Confirmar”
 seria btnLogin?

 → bom uso da semântica e dos padrões
 web também impacta também em maior
 qualidade do código, melhor acessibilidade,
 usabilidade, etc.




                                           SELENIUM: visão geral
Considerações




                SELENIUM: visão geral
Considerações




       verificar se, neste local, aparece a palavra
                        “Recursos”




                                         SELENIUM: visão geral
Considerações




                SELENIUM: visão geral
Seleniums




            SELENIUM: visão geral
Seleniums

            SELENIUM IDE

            É um ambiente de
            desenvolvimento integrado,
            disponível como plugin do
            Mozilla Firefox, utilizado para
            facilitar a geração de casos de
            teste em interfaces web.




                          SELENIUM: visão geral
Seleniums




            SELENIUM: visão geral
Seleniums




SELENIUM REMOTE-CONTROL

É um servidor, escrito em Java, que é capaz de receber e
interpretar as chamadas a comandos do Selenium e executá-las
“ao vivo” dentro de um navegador web.

                                           SELENIUM: visão geral
Seleniums




            SELENIUM: visão geral
Seleniums

SELENIUM CORE
Trata-se apenas do núcleo, comum tanto ao Selenium IDE
quanto ao RC. Interpreta os testes no formato HTML
dinâmico. Tem a vantagem de permitir a execução de testes
junto com a aplicação em outros ambientes além do de
desenvolvimento.




                                          SELENIUM: visão geral
Seleniums

SELENIUM CORE




                    SELENIUM: visão geral
Seleniums

SELENIUM CORE
Trata-se apenas do núcleo, comum tanto ao Selenium IDE
quanto ao RC. Interpreta os testes no formato HTML
dinâmico. Tem a vantagem de permitir a execução de testes
junto com a aplicação em outros ambientes além do de
desenvolvimento.




                                          SELENIUM: visão geral
Seleniums

SELENIUM CORE
Trata-se apenas do núcleo, comum tanto ao Selenium IDE
quanto ao RC. Interpreta os testes no formato HTML
dinâmico. Tem a vantagem de permitir a execução de testes
junto com a aplicação em outros ambientes além do de
desenvolvimento.

SELENIUM GRID
Possibilita integrar vários Selenium RC em paralelo,
permitindo a execução em escala. Útil para simular um
ambiente mais próximo do real em testes de desempenho.




                                          SELENIUM: visão geral
Seleniums

SELENIUM CORE
Trata-se apenas do núcleo, comum tanto ao Selenium IDE
quanto ao RC. Interpreta os testes no formato HTML
dinâmico. Tem a vantagem de permitir a execução de testes
junto com a aplicação em outros ambientes além do de
desenvolvimento.

SELENIUM GRID
Possibilita integrar vários Selenium RC em paralelo,
permitindo a execução em escala. Útil para simular um
ambiente mais próximo do real em testes de desempenho.

CUBIC TEST
Similar ao Selenium IDE, mas integrado ao ambiente Eclipse.

                                           SELENIUM: visão geral
Alguns comandos do Selenium IDE




                      SELENIUM: visão geral
Alguns comandos do Selenium IDE

click(elemento)
type(campo, valor)
select(campo, opcao)
... → todos têm a versão “...AndWait”

assertTextPresent(elemento, valor)
assertTextNotPresent(elemento, valor)
assertElementPresent(elemento)
assertElementNotPresent(elemento)
assertAlertPresent()
assertAlertNotPresent()
...
captureEntirePageScreenshot(arquivo, args)




                                             SELENIUM: visão geral
Alguns comandos do Selenium IDE

click(elemento)
type(campo, valor)
select(campo, opcao)
... → todos têm a versão “...AndWait”

assertTextPresent(elemento, valor)
assertTextNotPresent(elemento, valor)
assertElementPresent(elemento)
assertElementNotPresent(elemento)
assertAlertPresent()
assertAlertNotPresent()
...
captureEntirePageScreenshot(arquivo, args)

http://seleniumhq.org/docs/04_selenese_commands.html

                                             SELENIUM: visão geral
Referências

Página oficial do Selenium
http://seleniumhq.org
http://seleniumhq.org/docs/
http://seleniumhq.org/projects/ide/
http://seleniumhq.org/projects/remote-control/
http://selenium-grid.seleniumhq.org/
http://cubictest.seleniumhq.org/

Outras referências
http://www.seuenium.com.br/
http://www.testexpert.com.br/?q=node/591
http://blog.caelum.com.br/2007/02/28/testes-de-aceitacao-com-o-selenium/
http://www.dicas-l.com.br/dicas-l/20080207.php
http://gc.blog.br/tag/selenium/
http://blog.seatecnologia.com.br/tag/selenium
http://en.wikipedia.org/wiki/Selenium_(software)
http://www.google.com.br/search?q=selenium :-P



                                                        SELENIUM: visão geral
OBRIGADO!




            SELENIUM: visão geral
OBRIGADO!




MARCELO F ANDRADE
marcelo.andrade@serpro.gov.br




                           SELENIUM: visão geral

Más contenido relacionado

La actualidad más candente

Automação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverAutomação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverQualister
 
Automacão de Testes Funcionais com Selenium
Automacão de Testes Funcionais com SeleniumAutomacão de Testes Funcionais com Selenium
Automacão de Testes Funcionais com SeleniumFabrício Lemos
 
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
 
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
 
Automação de Teste Funcionais - Selenium
Automação de Teste Funcionais - SeleniumAutomação de Teste Funcionais - Selenium
Automação de Teste Funcionais - SeleniumIsrael Santiago
 
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driverJúlio de Lima
 
Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de SeleniumAutotic
 
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e WebdriverJúlio de Lima
 
Assespro pr-workshop-robot framework
Assespro pr-workshop-robot frameworkAssespro pr-workshop-robot framework
Assespro pr-workshop-robot frameworkMayara Fernandes
 
Testes para dispositivos móveis
Testes para dispositivos móveisTestes para dispositivos móveis
Testes para dispositivos móveisQualister
 
Como testar aplicativos ios e android
Como testar aplicativos ios e androidComo testar aplicativos ios e android
Como testar aplicativos ios e androidQualister
 
Robot Framework no DevTests #34
Robot Framework no DevTests #34Robot Framework no DevTests #34
Robot Framework no DevTests #34Mayara Fernandes
 
WordCamp Floripa 2021 - Fernando Nilson - Análise de vulnerabilidade
WordCamp Floripa 2021 - Fernando Nilson - Análise de vulnerabilidadeWordCamp Floripa 2021 - Fernando Nilson - Análise de vulnerabilidade
WordCamp Floripa 2021 - Fernando Nilson - Análise de vulnerabilidadeWordCamp Floripa
 
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos DelphiTDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos DelphiMayara Fernandes
 
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...minastestingconference
 

La actualidad más candente (20)

Automação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverAutomação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriver
 
Automacão de Testes Funcionais com Selenium
Automacão de Testes Funcionais com SeleniumAutomacão de Testes Funcionais com Selenium
Automacão de Testes Funcionais com Selenium
 
Selenium
SeleniumSelenium
Selenium
 
Selenium ide apresentação
Selenium ide   apresentaçãoSelenium ide   apresentação
Selenium ide apresentação
 
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
SeleniumSelenium
Selenium
 
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
 
Automação de Teste Funcionais - Selenium
Automação de Teste Funcionais - SeleniumAutomação de Teste Funcionais - Selenium
Automação de Teste Funcionais - Selenium
 
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver
 
Selenium ide
Selenium ideSelenium ide
Selenium ide
 
Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de Selenium
 
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
 
Selenium IDE
Selenium IDESelenium IDE
Selenium IDE
 
Assespro pr-workshop-robot framework
Assespro pr-workshop-robot frameworkAssespro pr-workshop-robot framework
Assespro pr-workshop-robot framework
 
Testes para dispositivos móveis
Testes para dispositivos móveisTestes para dispositivos móveis
Testes para dispositivos móveis
 
Como testar aplicativos ios e android
Como testar aplicativos ios e androidComo testar aplicativos ios e android
Como testar aplicativos ios e android
 
Robot Framework no DevTests #34
Robot Framework no DevTests #34Robot Framework no DevTests #34
Robot Framework no DevTests #34
 
WordCamp Floripa 2021 - Fernando Nilson - Análise de vulnerabilidade
WordCamp Floripa 2021 - Fernando Nilson - Análise de vulnerabilidadeWordCamp Floripa 2021 - Fernando Nilson - Análise de vulnerabilidade
WordCamp Floripa 2021 - Fernando Nilson - Análise de vulnerabilidade
 
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos DelphiTDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
TDCPOA2018 - Trilha Delphi - Desconstruindo Monolitos Delphi
 
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
 

Destacado

Introdução ao selenium
Introdução ao seleniumIntrodução ao selenium
Introdução ao seleniumAldrin Leal
 
VR Dev Summit 2016 - Primeiros Passos em Automação de Testes
VR Dev Summit 2016 - Primeiros Passos em Automação de TestesVR Dev Summit 2016 - Primeiros Passos em Automação de Testes
VR Dev Summit 2016 - Primeiros Passos em Automação de TestesStefan Teixeira
 
TDC 2014 POA - Clean Code para Testers
TDC 2014 POA - Clean Code para TestersTDC 2014 POA - Clean Code para Testers
TDC 2014 POA - Clean Code para TestersStefan Teixeira
 
Minas Testing Conference 2016 - Testes de Carga com Locust
Minas Testing Conference 2016 - Testes de Carga com LocustMinas Testing Conference 2016 - Testes de Carga com Locust
Minas Testing Conference 2016 - Testes de Carga com LocustStefan Teixeira
 
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaAutomação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaGabriela Patuci
 
Scrum Gathering Portugal 2016 - Containerizing Tests with Docker
Scrum Gathering Portugal 2016 - Containerizing Tests with DockerScrum Gathering Portugal 2016 - Containerizing Tests with Docker
Scrum Gathering Portugal 2016 - Containerizing Tests with DockerStefan Teixeira
 

Destacado (6)

Introdução ao selenium
Introdução ao seleniumIntrodução ao selenium
Introdução ao selenium
 
VR Dev Summit 2016 - Primeiros Passos em Automação de Testes
VR Dev Summit 2016 - Primeiros Passos em Automação de TestesVR Dev Summit 2016 - Primeiros Passos em Automação de Testes
VR Dev Summit 2016 - Primeiros Passos em Automação de Testes
 
TDC 2014 POA - Clean Code para Testers
TDC 2014 POA - Clean Code para TestersTDC 2014 POA - Clean Code para Testers
TDC 2014 POA - Clean Code para Testers
 
Minas Testing Conference 2016 - Testes de Carga com Locust
Minas Testing Conference 2016 - Testes de Carga com LocustMinas Testing Conference 2016 - Testes de Carga com Locust
Minas Testing Conference 2016 - Testes de Carga com Locust
 
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaAutomação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
 
Scrum Gathering Portugal 2016 - Containerizing Tests with Docker
Scrum Gathering Portugal 2016 - Containerizing Tests with DockerScrum Gathering Portugal 2016 - Containerizing Tests with Docker
Scrum Gathering Portugal 2016 - Containerizing Tests with Docker
 

Similar a Visão Geral do Selenium

Curso Treinamento Automação de testes com Selenium Qualister
Curso Treinamento Automação de testes com Selenium QualisterCurso Treinamento Automação de testes com Selenium Qualister
Curso Treinamento Automação de testes com Selenium QualisterQualister
 
Testes Funcionais com Selenium
Testes Funcionais com Selenium Testes Funcionais com Selenium
Testes Funcionais com Selenium Mayron Cachina
 
Selenium Workshop
Selenium WorkshopSelenium Workshop
Selenium Workshopcathoderay
 
Desmistificando o Framework da Zend
Desmistificando o Framework da ZendDesmistificando o Framework da Zend
Desmistificando o Framework da ZendDomingos Teruel
 
Testes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio NasTestes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio NasWordCamp Floripa
 
Acelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosAcelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosIgor Abade
 
Automatizando o build, testes e deployment de websites com GitHub Actions, Se...
Automatizando o build, testes e deployment de websites com GitHub Actions, Se...Automatizando o build, testes e deployment de websites com GitHub Actions, Se...
Automatizando o build, testes e deployment de websites com GitHub Actions, Se...Renato Groffe
 
Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end seleniumQualister
 
Academia do Arquiteto - Implantando A.L.M. em uma semana!
Academia do Arquiteto - Implantando A.L.M. em uma semana!Academia do Arquiteto - Implantando A.L.M. em uma semana!
Academia do Arquiteto - Implantando A.L.M. em uma semana!Globalcode
 
Solucionando a Teoria do Caos com Cypress.io
Solucionando a Teoria do Caos com Cypress.ioSolucionando a Teoria do Caos com Cypress.io
Solucionando a Teoria do Caos com Cypress.ioPatrick Monteiro
 
Implementando Implementando eXtreme treme Programming rogramming em em Java Java
Implementando Implementando eXtreme treme Programming rogramming em em Java JavaImplementando Implementando eXtreme treme Programming rogramming em em Java Java
Implementando Implementando eXtreme treme Programming rogramming em em Java Javaelliando dias
 
Entrega contínua com arquitetura distribuida
Entrega contínua com arquitetura distribuidaEntrega contínua com arquitetura distribuida
Entrega contínua com arquitetura distribuidaLeonardo Kobus
 
Testes de aplicações Web com Selenium, .NET Standard e .NET Core 2.0 - .NET S...
Testes de aplicações Web com Selenium, .NET Standard e .NET Core 2.0 - .NET S...Testes de aplicações Web com Selenium, .NET Standard e .NET Core 2.0 - .NET S...
Testes de aplicações Web com Selenium, .NET Standard e .NET Core 2.0 - .NET S...Renato Groff
 
IFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsIFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsLeonardo Comelli
 
CDI -Contextos e Dependências
CDI -Contextos e DependênciasCDI -Contextos e Dependências
CDI -Contextos e DependênciasWende Mendes
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptxCarlos Gonzaga
 

Similar a Visão Geral do Selenium (20)

Selenium
SeleniumSelenium
Selenium
 
Curso Treinamento Automação de testes com Selenium Qualister
Curso Treinamento Automação de testes com Selenium QualisterCurso Treinamento Automação de testes com Selenium Qualister
Curso Treinamento Automação de testes com Selenium Qualister
 
Testes Funcionais com Selenium
Testes Funcionais com Selenium Testes Funcionais com Selenium
Testes Funcionais com Selenium
 
Selenium Workshop
Selenium WorkshopSelenium Workshop
Selenium Workshop
 
Desmistificando o Framework da Zend
Desmistificando o Framework da ZendDesmistificando o Framework da Zend
Desmistificando o Framework da Zend
 
Testes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio NasTestes automatizados end-to-end com WordPress por Fabio Nas
Testes automatizados end-to-end com WordPress por Fabio Nas
 
Acelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidosAcelere - e melhore! - o feedback com testes automatizados rápidos
Acelere - e melhore! - o feedback com testes automatizados rápidos
 
Automatizando o build, testes e deployment de websites com GitHub Actions, Se...
Automatizando o build, testes e deployment de websites com GitHub Actions, Se...Automatizando o build, testes e deployment de websites com GitHub Actions, Se...
Automatizando o build, testes e deployment de websites com GitHub Actions, Se...
 
Continuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na NuvemContinuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na Nuvem
 
Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end selenium
 
Academia do Arquiteto - Implantando A.L.M. em uma semana!
Academia do Arquiteto - Implantando A.L.M. em uma semana!Academia do Arquiteto - Implantando A.L.M. em uma semana!
Academia do Arquiteto - Implantando A.L.M. em uma semana!
 
Solucionando a Teoria do Caos com Cypress.io
Solucionando a Teoria do Caos com Cypress.ioSolucionando a Teoria do Caos com Cypress.io
Solucionando a Teoria do Caos com Cypress.io
 
Test day 2012
Test day 2012Test day 2012
Test day 2012
 
Implementando Implementando eXtreme treme Programming rogramming em em Java Java
Implementando Implementando eXtreme treme Programming rogramming em em Java JavaImplementando Implementando eXtreme treme Programming rogramming em em Java Java
Implementando Implementando eXtreme treme Programming rogramming em em Java Java
 
Introdução a Frameworks
Introdução a FrameworksIntrodução a Frameworks
Introdução a Frameworks
 
Entrega contínua com arquitetura distribuida
Entrega contínua com arquitetura distribuidaEntrega contínua com arquitetura distribuida
Entrega contínua com arquitetura distribuida
 
Testes de aplicações Web com Selenium, .NET Standard e .NET Core 2.0 - .NET S...
Testes de aplicações Web com Selenium, .NET Standard e .NET Core 2.0 - .NET S...Testes de aplicações Web com Selenium, .NET Standard e .NET Core 2.0 - .NET S...
Testes de aplicações Web com Selenium, .NET Standard e .NET Core 2.0 - .NET S...
 
IFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOpsIFSP 2015 - Cultura DevOps
IFSP 2015 - Cultura DevOps
 
CDI -Contextos e Dependências
CDI -Contextos e DependênciasCDI -Contextos e Dependências
CDI -Contextos e Dependências
 
Testes automatizados.pptx
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptx
 

Más de Marcelo Andrade

DevOps: Falando um pouco sobre desenvolvimento orientado a testes com Puppet
DevOps: Falando um pouco sobre desenvolvimento orientado a testes com PuppetDevOps: Falando um pouco sobre desenvolvimento orientado a testes com Puppet
DevOps: Falando um pouco sobre desenvolvimento orientado a testes com PuppetMarcelo Andrade
 
#safaDojo - Coding Dojo Go lang
#safaDojo - Coding Dojo Go lang#safaDojo - Coding Dojo Go lang
#safaDojo - Coding Dojo Go langMarcelo Andrade
 
Compartilhando experiências sobre ir de bike ao trabalho
Compartilhando experiências sobre ir de bike ao trabalhoCompartilhando experiências sobre ir de bike ao trabalho
Compartilhando experiências sobre ir de bike ao trabalhoMarcelo Andrade
 
Desenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHPDesenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHPMarcelo Andrade
 
Reflexões aleatórias para calouros em
Reflexões aleatórias para calouros emReflexões aleatórias para calouros em
Reflexões aleatórias para calouros emMarcelo Andrade
 
Testes de software automatizados
Testes de software automatizadosTestes de software automatizados
Testes de software automatizadosMarcelo Andrade
 
Introdução ao Desenvolvimento com Padrões Web: XHTML Essencial
Introdução ao Desenvolvimento com Padrões Web: XHTML EssencialIntrodução ao Desenvolvimento com Padrões Web: XHTML Essencial
Introdução ao Desenvolvimento com Padrões Web: XHTML EssencialMarcelo Andrade
 
Visão Ágil Academic Meeting / TaSAFO em fatos e fotos
Visão Ágil Academic Meeting / TaSAFO em fatos e fotosVisão Ágil Academic Meeting / TaSAFO em fatos e fotos
Visão Ágil Academic Meeting / TaSAFO em fatos e fotosMarcelo Andrade
 
Compartilhando experiências em software livre
Compartilhando experiências em software livreCompartilhando experiências em software livre
Compartilhando experiências em software livreMarcelo Andrade
 
BrOffice nas Universidades
BrOffice nas UniversidadesBrOffice nas Universidades
BrOffice nas UniversidadesMarcelo Andrade
 
Zend Framework: abordagem prática
Zend Framework: abordagem práticaZend Framework: abordagem prática
Zend Framework: abordagem práticaMarcelo Andrade
 
Joomla!: uma visão geral
Joomla!: uma visão geralJoomla!: uma visão geral
Joomla!: uma visão geralMarcelo Andrade
 

Más de Marcelo Andrade (16)

DevOps: Falando um pouco sobre desenvolvimento orientado a testes com Puppet
DevOps: Falando um pouco sobre desenvolvimento orientado a testes com PuppetDevOps: Falando um pouco sobre desenvolvimento orientado a testes com Puppet
DevOps: Falando um pouco sobre desenvolvimento orientado a testes com Puppet
 
#safaDojo - Coding Dojo Go lang
#safaDojo - Coding Dojo Go lang#safaDojo - Coding Dojo Go lang
#safaDojo - Coding Dojo Go lang
 
Compartilhando experiências sobre ir de bike ao trabalho
Compartilhando experiências sobre ir de bike ao trabalhoCompartilhando experiências sobre ir de bike ao trabalho
Compartilhando experiências sobre ir de bike ao trabalho
 
Desenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHPDesenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHP
 
Plataforma IMMI
Plataforma IMMIPlataforma IMMI
Plataforma IMMI
 
Reflexões aleatórias para calouros em
Reflexões aleatórias para calouros emReflexões aleatórias para calouros em
Reflexões aleatórias para calouros em
 
Ciclovia belem final
Ciclovia belem finalCiclovia belem final
Ciclovia belem final
 
Testes de software automatizados
Testes de software automatizadosTestes de software automatizados
Testes de software automatizados
 
Introdução ao Desenvolvimento com Padrões Web: XHTML Essencial
Introdução ao Desenvolvimento com Padrões Web: XHTML EssencialIntrodução ao Desenvolvimento com Padrões Web: XHTML Essencial
Introdução ao Desenvolvimento com Padrões Web: XHTML Essencial
 
Visão Ágil Academic Meeting / TaSAFO em fatos e fotos
Visão Ágil Academic Meeting / TaSAFO em fatos e fotosVisão Ágil Academic Meeting / TaSAFO em fatos e fotos
Visão Ágil Academic Meeting / TaSAFO em fatos e fotos
 
Compartilhando experiências em software livre
Compartilhando experiências em software livreCompartilhando experiências em software livre
Compartilhando experiências em software livre
 
BrOffice nas Universidades
BrOffice nas UniversidadesBrOffice nas Universidades
BrOffice nas Universidades
 
Zend Framework: abordagem prática
Zend Framework: abordagem práticaZend Framework: abordagem prática
Zend Framework: abordagem prática
 
Joomla!: uma visão geral
Joomla!: uma visão geralJoomla!: uma visão geral
Joomla!: uma visão geral
 
Slackware Linux
Slackware LinuxSlackware Linux
Slackware Linux
 
Apresentando o CakePHP
Apresentando o CakePHPApresentando o CakePHP
Apresentando o CakePHP
 

Visão Geral do Selenium

  • 1.
  • 2. SELENIUM: visão geral Marcelo Andrade
  • 3. Testes de software SELENIUM: visão geral
  • 4. Testes de software Técnicas ● caixa preta ● caixa branca Fases ● Unitários ● Integração ● Sistema ● Desempenho ● Funcionais SELENIUM: visão geral
  • 5. Selenium SELENIUM suíte de ferramentas para automatização de testes de aplicações web em múltiplas plataformas. http://seleniumhq.org SELENIUM: visão geral
  • 6. Selenium SELENIUM suíte de ferramentas para automatização de testes de aplicações web em múltiplas plataformas. http://seleniumhq.org SELENIUM: visão geral
  • 7. Selenium SELENIUM suíte de ferramentas para automatização de testes de aplicações web em múltiplas plataformas. Selenium IDE Selenium Core Selenium Remote-Control Selenium Grid ... SELENIUM: visão geral
  • 8. Talk is cheap. Show me the code. SELENIUM: visão geral
  • 9. Talk is cheap. Show me the code. SELENIUM: visão geral
  • 10. Talk is cheap. Show me the code. 1. no campo “usuario” digitar “admin” SELENIUM: visão geral
  • 11. Talk is cheap. Show me the code. 2. no campo “senha” digitar “123456” SELENIUM: visão geral
  • 12. Talk is cheap. Show me the code. 3. clicar no botão “Confirmar” SELENIUM: visão geral
  • 13. Talk is cheap. Show me the code. 4. verificar se surge na tela a indicação “USUÁRIO: ADMINISTRADOR DO SISTEMA” SELENIUM: visão geral
  • 14. Talk is cheap. Show me the code. SELENIUM: visão geral
  • 15. Talk is cheap. Show me the code. SELENIUM: visão geral
  • 16. Considerações 1. É importante ter uma massa de dados de entrada conhecida Como saber se “admin/123456” o login deve ser efetuado ou não? O caso deveria ser de sucesso ou de falha? SELENIUM: visão geral
  • 17. Considerações 1. É importante ter uma massa de dados de entrada conhecida Como saber se “admin/123456” o login deve ser efetuado ou não? O caso deveria ser de sucesso ou de falha? → scripts de automatização e versionamento de bancos de dados são chamados de fixtures. SELENIUM: visão geral
  • 18. Considerações 2. É importante ter um padrão de código para interface conhecido Como alguém diferente do implementador saberia que o nome do botão “Confirmar” seria btnLogin? SELENIUM: visão geral
  • 19. Considerações 2. É importante ter um padrão de código para interface conhecido Como alguém diferente do implementador saberia que o nome do botão “Confirmar” seria btnLogin? → bom uso da semântica e dos padrões web também impacta também em maior qualidade do código, melhor acessibilidade, usabilidade, etc. SELENIUM: visão geral
  • 20. Considerações SELENIUM: visão geral
  • 21. Considerações verificar se, neste local, aparece a palavra “Recursos” SELENIUM: visão geral
  • 22. Considerações SELENIUM: visão geral
  • 23. Seleniums SELENIUM: visão geral
  • 24. Seleniums SELENIUM IDE É um ambiente de desenvolvimento integrado, disponível como plugin do Mozilla Firefox, utilizado para facilitar a geração de casos de teste em interfaces web. SELENIUM: visão geral
  • 25. Seleniums SELENIUM: visão geral
  • 26. Seleniums SELENIUM REMOTE-CONTROL É um servidor, escrito em Java, que é capaz de receber e interpretar as chamadas a comandos do Selenium e executá-las “ao vivo” dentro de um navegador web. SELENIUM: visão geral
  • 27. Seleniums SELENIUM: visão geral
  • 28. Seleniums SELENIUM CORE Trata-se apenas do núcleo, comum tanto ao Selenium IDE quanto ao RC. Interpreta os testes no formato HTML dinâmico. Tem a vantagem de permitir a execução de testes junto com a aplicação em outros ambientes além do de desenvolvimento. SELENIUM: visão geral
  • 29. Seleniums SELENIUM CORE SELENIUM: visão geral
  • 30. Seleniums SELENIUM CORE Trata-se apenas do núcleo, comum tanto ao Selenium IDE quanto ao RC. Interpreta os testes no formato HTML dinâmico. Tem a vantagem de permitir a execução de testes junto com a aplicação em outros ambientes além do de desenvolvimento. SELENIUM: visão geral
  • 31. Seleniums SELENIUM CORE Trata-se apenas do núcleo, comum tanto ao Selenium IDE quanto ao RC. Interpreta os testes no formato HTML dinâmico. Tem a vantagem de permitir a execução de testes junto com a aplicação em outros ambientes além do de desenvolvimento. SELENIUM GRID Possibilita integrar vários Selenium RC em paralelo, permitindo a execução em escala. Útil para simular um ambiente mais próximo do real em testes de desempenho. SELENIUM: visão geral
  • 32. Seleniums SELENIUM CORE Trata-se apenas do núcleo, comum tanto ao Selenium IDE quanto ao RC. Interpreta os testes no formato HTML dinâmico. Tem a vantagem de permitir a execução de testes junto com a aplicação em outros ambientes além do de desenvolvimento. SELENIUM GRID Possibilita integrar vários Selenium RC em paralelo, permitindo a execução em escala. Útil para simular um ambiente mais próximo do real em testes de desempenho. CUBIC TEST Similar ao Selenium IDE, mas integrado ao ambiente Eclipse. SELENIUM: visão geral
  • 33. Alguns comandos do Selenium IDE SELENIUM: visão geral
  • 34. Alguns comandos do Selenium IDE click(elemento) type(campo, valor) select(campo, opcao) ... → todos têm a versão “...AndWait” assertTextPresent(elemento, valor) assertTextNotPresent(elemento, valor) assertElementPresent(elemento) assertElementNotPresent(elemento) assertAlertPresent() assertAlertNotPresent() ... captureEntirePageScreenshot(arquivo, args) SELENIUM: visão geral
  • 35. Alguns comandos do Selenium IDE click(elemento) type(campo, valor) select(campo, opcao) ... → todos têm a versão “...AndWait” assertTextPresent(elemento, valor) assertTextNotPresent(elemento, valor) assertElementPresent(elemento) assertElementNotPresent(elemento) assertAlertPresent() assertAlertNotPresent() ... captureEntirePageScreenshot(arquivo, args) http://seleniumhq.org/docs/04_selenese_commands.html SELENIUM: visão geral
  • 36. Referências Página oficial do Selenium http://seleniumhq.org http://seleniumhq.org/docs/ http://seleniumhq.org/projects/ide/ http://seleniumhq.org/projects/remote-control/ http://selenium-grid.seleniumhq.org/ http://cubictest.seleniumhq.org/ Outras referências http://www.seuenium.com.br/ http://www.testexpert.com.br/?q=node/591 http://blog.caelum.com.br/2007/02/28/testes-de-aceitacao-com-o-selenium/ http://www.dicas-l.com.br/dicas-l/20080207.php http://gc.blog.br/tag/selenium/ http://blog.seatecnologia.com.br/tag/selenium http://en.wikipedia.org/wiki/Selenium_(software) http://www.google.com.br/search?q=selenium :-P SELENIUM: visão geral
  • 37. OBRIGADO! SELENIUM: visão geral