SlideShare uma empresa Scribd logo
1 de 63
(48) 4052-9536 / 9540
 contato@qualister.com.br

• Terceirização de profissionais
• Consultoria de teste
• Avaliação de usabilidade
• Automação de testes
• Testes de performance
• Treinamentos
                                    Treinamento
                                   Automação de testes com
                                         Selenium


  www.qualister.com.br
Quer saber mais?


Estes são apenas alguns slides do curso
 de automação de testes com selenium
 Para maiores informações e novas turmas, visite nosso site:


                http://www.qualister.com.br/cursos




www.qualister.com.br
Direitos autorais




www.qualister.com.br
Instrutor

Elias Nogueira
Email: elias.nogueira@gmail.com
Blog: http://sembugs.blogspot.com
Arquiteto de Teste de Software com ênfase em automação de Teste. Atualmente trabalha como Consultor
Técnico na linha de ALM da Hewlett Packard e Consultor em Automação e Teste e Instrutor na Qualister.

Possui a certificação CSTE – Certified Software Tester pela QAI e possui uma Pos Graduação em Teste de
Software

Já deu diversas palestras sobre Java e Teste de Software. Ativo na comunidade de Teste também
coordenou alguns eventos e encontros de testes, como no Testadores e no The Developers Conference

@eliasnogueira
http://sembugs.blogspot.com
http://slideshare.net/elias.nogueira
http://about.ne/eliasnogueira




 www.qualister.com.br
Sobre a Qualister

•      Fundação: 2007.
•      Sobre a Qualister: A Qualister é uma empresa nacional, constituída a partir da união
       de profissionais qualificados e certificados na área de testes e qualidade de
       software, com o objetivo de integrar, implementar e implantar soluções com base nas
       melhores práticas do mercado e normas internacionais.
•      Colaboradores: A Qualister é composta por colaboradores pós-graduados e
       certificados na área de testes (CBTS, CSTE) com larga experiência na indústria de
       Tecnologia da Informação.
•      Área de atuação: A Qualister é uma empresa especializada em serviços de
       qualidade e teste de software. Tem como linhas de atuação consultoria em
       teste/qualidade de software, outsourcing (terceirização dos serviços através da
       alocação de profissionais) e treinamentos.




    www.qualister.com.br
Parcerias internacionais


                        Soluções para automação, profilling e gestão




                       Soluções para testes de performance




                        Soluções de apoio a avaliação de usabilidade




www.qualister.com.br
O que é o Selenium?




www.qualister.com.br
O que é o Selenium

• Selenium é um conjunto de ferramentas para automação de
  browsers web

• Atualmente é composto por 4 grandes projetos
               Selenium IDE
                Plugin do Firefox que permite a gravação e execução de ações efetuadas
                em uma página web

               Selenium Remote Control
                Permite o controle e execução de scripts em outros browsers e máquinas
                Também utilizarmos linguagens de programação para criar os scripts
               Selenium Webdriver
                Emula nativamente diversos browsers localmente ou em máquinas remotas
                através de programação

                Selenium Grid
                Habilita a execução de scripts simultaneamente em diferentes máquinas


www.qualister.com.br
O que é o Selenium

• Nosso foco será no Selenium IDE e no Selenium Remote
  Control

• O suporte a browsers é bem extenso, como Firefox, Internet
  Explorer, Opera, Safari e GoogleChrome

• Também com suporte a linguagens de programação como:
  Java, C#, Python, PHP, Ruby e Perl

• E suporte a Sistemas Operacionais: Windows, Linux, OsX e
  Solaris

• Para saber mais sobre o suporte do Selenium acesse
  http://seleniumhq.org/about/platforms.html

www.qualister.com.br
O que é o Selenium

• Uma grande dica é sempre acompanhar a página de
  documentação do Selenium, que é atualizada
  constantemente, bem como outros itens:

• Documentação: http://seleniumhq.org/docs/

• Twitter: @SeleniumHQ

• Lista de email: http://groups.google.com/group/selenium-
  users

• Blog: http://seleniumhq.wordpress.com/



www.qualister.com.br
Instalando o
                       Selenium IDE




www.qualister.com.br
Instalando o Selenium IDE

• É um plugin para gravação e execução de testes pelo
  Firefox

• O Selenium IDE instala SOMENTE no browser Firefox

• Sempre verifique a página http://seleniumhq.org/download
  para encontrar a versão mais recente do Selenium IDE

• O instalador é um Addon do Firefox, porém pode ser
  instalado separadamente baixando o arquivo .xpi e
  instalando off-line

• Para versões beta do Firefox utilize o repositório do
  Selenium IDE
  http://xserve.openqa.org:8085/browse/IDE-EDITOR

www.qualister.com.br
Instalando o Selenium IDE

• Abra o Firefox e acesse o site
  http://seleniumhq.org/download

• Clique sobre o link referente a versão atual do Selenium
  IDE, como mostra a imagem abaixo




www.qualister.com.br
Instalando o Selenium IDE

• Uma mensagem será apresentada no canto superior
  esquerdo do Firefox. Clique sobre o botão “Allow” (Permitir)




• O download será executado. Aguarde o término da
  instalação do Addon




www.qualister.com.br
Instalando o Selenium IDE

• A tela de instalação do Addon do Selenium será
  apresentada. Aguarde por 5 segundos e no botão “Install
  Now” (Instalar Agora)




www.qualister.com.br
Instalando o Selenium IDE

• Agora no canto superior esquerdo mais uma mensagem
  para reiniciar o Firefox e validar a instalação do Addon do
  Selenium. Clique em “Restart Now” (Reiniciar)




www.qualister.com.br
Instalando o Selenium IDE

• Após o Firefox reiniciar vá até o menu Firefox/Web
  Developer/Selenium IDE para abrir o Selenium IDE




www.qualister.com.br
Instalando o Selenium IDE

• O Selenium IDE será aberto




www.qualister.com.br
Instalando o Firebug




www.qualister.com.br
Instalando o Firebug

• Firebug é uma ferramenta de desenvolvimento web onde
  podemos editar, debug e monitorar CSS, HTML e Javascript
  em uma página web

• Utilizaremos uma pequena funcionalidade do Firebug para
  nos ajudar em alguma automações com o Selenium




www.qualister.com.br
Instalando o Firebug

• Acesse a página http://getfirebug.com

• Clique sobre o “botão vermelho” “Install Firebug”




• Você será direcionado para a página de download. Clique
  sobre o item recomendado para iniciar a instalação




www.qualister.com.br
Instalando o Firebug

• Você será redirecionado para a ela de Add-ons do Firefox.
  Clique no botão Add to Firefox para iniciar a instalação




www.qualister.com.br
Instalando o Firebug

• Uma mensagem aparecerá no canto superior esquerdo do
  browser. Clique no botão “Allow” (Permitir)




• Aguarde o término do download




www.qualister.com.br
Instalando o Firebug

• A tela de instalação do Addon do Firebug será apresentada.
  Aguarde por 5 segundos e no botão “Install Now” (Instalar
  Agora)




www.qualister.com.br
Instalando o Firebug

• Agora no canto superior esquerdo mais uma mensagem
  para reiniciar o Firefox e validar a instalação do Addon do
  Firebug. Clique em “Restart Now” (Reiniciar)




www.qualister.com.br
Instalando o Firebug

• Após o Firefox reiniciar vá até o menu Firefox/Web
  Developer/Firebug ou clique sobre o botão      para habilitar
  a barra do Firebug




www.qualister.com.br
Firebug - Inspector

• A maior funcionalidade do Firebug que utilizaremos para
  nos ajudar na automação com o Selenium é chamado de
  Inspector.

• Podemos ativar o inspector pelo botão

• Quando o ativamos passamos o mouse sobre qualquer
  elemento dentro da página web para visualizar o
  código-fonte do elemento que estiver apontado com a seta
  do mouse




www.qualister.com.br
Estrutura do Selenium
                                 IDE




www.qualister.com.br
Estrutura do Selenium IDE


       URL inicial
                               Barra de menu



      Suíte de Teste
                             Estrutura e edição do
                                     script




Informações gerais




www.qualister.com.br
Estrutura do Selenium IDE

• A URL Base é muito importante, pois quando iniciamos a
  gravação do script um comando chamado open é
  adicionado com o endereço da página, menos a base de
  acesso.
• Com isso podemos trocar o endereço base e o script
  continua funcionando

• A barra Fast Slow controla a velocidade do script. Procure
  utiliza-la somente em caráter de visualização das ações dos
  scripts. Aprenderemos como fazer esperar e não depender
  dessa funcionalidade do Selenium IDE



www.qualister.com.br
Estrutura do Selenium IDE

• A barra de TestCase lista todos os scripts criados e é onde
  podemos agrupar diversos scripts e salvar uma suíte de
  teste

• O conjunto de Estruturação de Script é onde visualizamos
  os comandos que estão sendo gravados, onde também
  podemos editá-los

• O painel de Informações Gerais apresenta o log de
  execução, referência de comandos entre outras
  informações



www.qualister.com.br
Selenese, a linguagem do Selenium IDE

• Todos os scripts gravados e salvos como TestCase são
  chamados de Selenese

• Selenese é uma “linguagem” própria do Selenium através
  de comandos por palavras-chave (Keyword Driven)

• A visualização do código-fonte nada mais é do que uma
  tabela HTML com a mesma visualização da tabela no
  Selenium IDE




www.qualister.com.br
Selenese, a linguagem do Selenium IDE

• As Suítes de Teste podem ser salvas com um único script
  ou com vários

• A estrutura do código-fonte é nada mais que o caminho
  para cada script




www.qualister.com.br
Comandos Básicos




www.qualister.com.br
Comandos Básicos

• Existem uma série de comandos no Selenium IDE já
  prontos

• Visualizamos estes comandos no próprio Selenium IDE pela
  combo Command




www.qualister.com.br
Comandos Básicos

• Existem basicamente três divisões de comandos: de
  garantia ou verificação, de ação e gerais

• Os comandos de garantia e verificação podem ser
  identificados como verify... ou assert...
  Ex: assertTextPresent garante que um determinado texto
  está contido na página

• Asserts: garante que uma certa informação está na página,
  se não estiver falha e para a execução do script

• Verifys: verifica se uma certa informação está na página, se
  não estiver marca o comando como erro e continua a
  execução do script

www.qualister.com.br
Comandos Básicos

• Podemos chamar os comandos de ações os que mudam o
  comportamento da página como click, keys, mouse, etc...

• Um ponto importante sobre o comando click é que
  podemos visualizar o comando clickAndWait...
  Isso indica que o clique mudou o comportamento da página
  e o Selenium fará uma espera até a página ser carregada

• Todos os comandos que terminam com AndWait fazem
  uma espera até que a página seja 100% carregada ou que
  o tempo total de espera seja ultrapassado. Ele é
  configurado pelo menu Options/Options/Default timeout value...



www.qualister.com.br
Comandos Básicos

• As ações gerais são qualquer outro comando específico
  dentro do Selenium

• Sempre que precisarmos entender o que faz um comando
  selecionamos ele através da combo Command e a aba
  Reference é habilitada.
  Poderemos ver o que o comando realmente faz sobre a
  página ou sobre os elementos




www.qualister.com.br
Exercício 1




www.qualister.com.br
Conceituação para Exercício 1

• Locators: são formas de identificar um elemento dentro da
  página web. É um dos principais pontos que devemos
  entender no Selenium

• Os locators podem ser do tipo:
     –   Id: localização pelo ID de um elemento
     –   Nome: localização pelo nome de um elemento
     –   Xpath: localização ou por funções ou por navegação
     –   Links: localização por um link na página
     –   DOM: localização através de propriedades via javascript
     –   CSS: localização por estilos




www.qualister.com.br
Conceituação para Exercício 1

• Localização por ID
• Encontra um elemento pelo atributo id

• No exemplo abaixo o único elemento que podemos interagir pelo id é o
  form

• Ex: id=loginForm




www.qualister.com.br
Conceituação para Exercício 1

• Localização por Name
• Encontra um elemento pelo atributo name

• No exemplo abaixo podemos interagir com quatro elementos: campo de
  login e senha, botão de login e botão de limpar

• Ex: id=username

• Observação: como temos dois elementos com o mesmo nome (continue)
  o Selenium sempre pega o primeiro que encontra




www.qualister.com.br
Conceituação para Exercício 1

• Localização por xpath
• Encontra um elemento através da navegação entre os elementos

• No exemplo abaixo podemos localiza qualquer elemento por xpath e de
  diversas formas....

• Ex: //input[3] irá encontrar o botão de login

         //input[@name=“continue” and @type=“button” ] irá encontrar o
            botão de limpar




www.qualister.com.br
Conceituação para Exercício 1

• Localização por link
• Encontra um elemento do link (href) de uma página

• No exemplo podemos encontrar os dois links existentes

• Ex: link=Continue localiza o link de Continue (“continue.html”)
      link=Cancel localiza o link de Cancel (“cancel.html”)




www.qualister.com.br
Conceituação para Exercício 1

• Localização por DOM
• Encontra um elemento através de javascript

• No exemplo podemos encontrar qualquer elemento

• Ex: documents.forms[0].password localiza o campo de password




www.qualister.com.br
Conceituação para Exercício 1

• Localização por CSS
• Encontra um elemento através de um estilo CSS ou navegação na
  página

• No exemplo podemos encontrar qualquer elemento

• Ex: css=input.required[type=“text”] localiza o elemento de usuário
      css=input[name=“password"] localiza o elemento de senha




www.qualister.com.br
Qual a melhor estratégia?

• A melhor estratégia de localização está na ordem abaixo:
     –   id
     –   name
     –   Link
     –   CSS
     –   DOM
     –   Xpath

• Embora CSS esteja em quarto, o Selenium IDE pega a
  grande parte dos elementos que não tenham ID ou name por
   CSS

• Embora o Xpath esteja por último, existem funções que nos
  ajudam a localizar mais facilmente um elemento

www.qualister.com.br
Conceituação para Exercício 2

• Comumente as páginas web utilizam funções em javascript
  para executarem determinadas tarefas
• O Selenium tem diversos suportes para javascript, como os
  comandos abaixo:
     – addScript: adiciona um script javascript na página para execução do teste
     – assertEval: garante a avaliação de um resultado positivo de um javascript
     – assertNotEval: garante a avaliação de um resultado negativo de um javascript
     – fireEvent: simula um evento em um determinado elemento
     – runScript: executa um javascript
     – removeScript: remove uma tag script
     – storeEval: guarda o resultado de alguma ação via javascript
     – verifyEval: verifica a avaliação de um resultado positivo de um javascript
     – verifyNotEval: verifica a avaliação de um resultado negativo de um javascript
     – waitForEval: espera por algum resultado positivo de um javascript
     – waitForNotEval: espera por algum resultado negativo de um javascript

www.qualister.com.br
Conceituação para Exercício 3

• Alertas são mensagens informativas em javascript que
  possuem apenas um botão de OK

• Confirmações são mensagens em javascript esperando uma
  determinada ação de “sim/não” ou “ok/cancelar”

• Existe uma série de comandos para cada tipo de mensagem,
  mas o que não devemos confundir é o tipo de cada um.
  Todos os comandos de alertas possuem a palavra alert, e as
  confirmações possuem a palavra confirmation




www.qualister.com.br
Conceituação para Exercício 3

• Alertas
     – assertAlert: garante que um alerta apareceu validando pelo seu texto
     – assertAlertNotPresent: garante que um alerta não apareça validando pelo seu
         texto
     – assertAlertPresent: garante que qualquer alerta apareceu, independente do
         seu texto
     – storeAlert: guarda a mensagem/texto de um alerta
     – storeAlertPresent: guarda a mensagem/texto de um alerta presente na página
     – verifyAlert: verfica que um alerta apareceu validando pelo seu texto
     – verifyAlertPresent: verifica que um alerta apareça validando pelo seu texto
     – verifyAlertNotPresent: verifica que um alerta não apareça validando pelo seu
         texto
     – waitForAlert: espera por um alerta pelo seu texto
     – waitForAlertNotPresent: espera que um alerta não apareça mais na página
     – waitForAlertPresent: espera por qualquer alerta na página



www.qualister.com.br
Conceituação para Exercício 3

• Os mesmos comandos do Alerta servem para as
  Confirmações e tem as mesmas ações, porém com o nome
  confirmation ou invés de alert

• O único comando adicionar é
  chooseCancelOnNextConfirmation, que enviar um sinal
  para que o Selenium ao invés de clicar sobre o botão OK,
  clique sobre o botão Cancelar.




www.qualister.com.br
Conceituação para Exercício 4

• Popups no Selenium tem o mesmo tratamento de janelas.
• Vale salientar que o Selenium trabalha com janelas, mas não
  entende a troca de abas, logo se existirem mais de uma
  página ela deverá ser aberta em um novo browser

• O Selenium possui os seguintes comandos para interagir com
  janelas
     – close: simula o click no botão close da janela ou popup
     – descelectPopup: tira o foco atual de uma popup
     – selectPopup: coloca o foco em uma popup
     – selectWindow: coloca o foco sobre uma janela ou popup
     – waitForPopUp: espera por uma determinada popup
     – windowFocus: coloca o foco sobre uma janela ou popup



www.qualister.com.br
Conceituação para Exercício 5

• Uma página web possui uma série de elementos HTML.
  Alguns que podemos interagir diretamente como usuários da
  página e outros não.

• Veremos alguns dos principais elementos de integração com
  a página, como:
     – Input: que pode ser:
            • Caixa de texto/Senha
            • Radion button
            • Checkbox
     – Combobox e ListBox
     – ListBox




www.qualister.com.br
Conceituação para Exercício 6

• Expressões regulares são muito uteis no Selenium, onde
  temos três tipos de patterns (modos de uso):
     – Global
     – Expressões Regulares
     – Exatos

• Os Globais podem utilizar a maioria dos caracteres coringa de
  expressões regulares e é util quando necessitamos interagir ou
  validar certos elementos que tem nomes em comum.
• Utiliza o prefixo glob nos comandos

   Ex: click | link=glob: Pesquisar Relatorio *
   Neste exemplo ele encontra qualquer link com o que contenha o
   texto “Pesquisar Relatorio” como “Pesquisar Relatorio de Cliente”,
   Pesquisar “Relatório de Fornecedor,” etc..

www.qualister.com.br
Conceituação para Exercício 6

• As Expressões Regulares utilizam todos os recursos da
  expressão regular para localizar qualquer tipo de informação na
  página ou mesmo valida-las
• Utiliza o prefixo regexp nos comandos

   Ex: clicar sobre um link que é uma data na página (21/01/2011)
   click | link=regexp: [0-9]{2}/[0-9]{2}/[0-9]{4}

• Para saber mais de como utilizar os recursos de expressão regular
  consulte
  http://pt.wikipedia.org/wiki/Express%C3%A3o_regular




www.qualister.com.br
Conceituação para Exercício 6

• Os Exatos são utilizados quando interagimos com algum elemento
  que tenha algum tipo de caracter especial utilizado por expressões
  regulares ou globais

• Utiliza o prefixo exact nos comandos

• Ex: Validação do texto “(1 U.S. dollar) * 1 Brazil real = 0.57241”

assertTextPresent | exact:(1 U.S. dollar) * 1 Brazil real = 0.57241




www.qualister.com.br
Conceituação para Exercício 7

• Para efetuarmos esperas por eventos em Ajax deveremos
  utilizar comandos que iniciem com waitFor
• Essa é a melhor forma de esperar por qualquer informação na
  página. Por padrão todas as esperas no Selenium IDE tem o tempo
  de 30 segundos. Depois disso um erro de timeout é apresentado
• O ideal em uma página com requisições Ajax é entender qual a
  forma de retorno da requisição, seja apresentando um texto,
  apresentando uma imagem, um campo, etc... A partir dai
  pesquisamos pelo comando waitFor... mais apropriado
• Ex: para uma requisição Ajax que, ao seu término, apresenta o
  botão de Remover e que tenha id=delete, podemos utilizar o
  comando:
  waitForElementPresent | id=delete

www.qualister.com.br
Conceituação para Exercício 7

• O timeout do Selenium IDE é configurado pelo menu
  Option/Options...

• O campo “Default timeout value of recorded command in
  miliseconds” quarda o tempo de espera em milisegundos,
  onde 10s = 10.000 ms




www.qualister.com.br
Conceituação para Exercício 8

• Para encontrarmos certos tipos de elementos na página web
  podemos utilizar algumas funções do xpath


• starts-with: útil quando um elemento tem um mesmo prefixo
  Ex: elemento como caixa de texto: id=name1345
   click | //input[starts-with(@id,’name’)]

• ends-with: útil quando um elemento termina com uma
  mesma informação
  Ex: elemento imagem: <img src=“icon_1234_small32x32.png   />
   click | //img[ends-with(@src,’small32x32.png’)]




www.qualister.com.br
Conceituação para Exercício 8

• contains: muito útil para encontrarmos elementos que
  contenham certa informação.

   Ex: lista de informações onde cada uma é uma div, e
   queremos encontrar o valor “Fulano de Tal”:
     <div[id=123]>Fulano de Tal</div>

• Comando para encontrar:
   //div[contains(text(),’Fulano de Tal’)]


• Neste caso utilizamos também a função text(), para pegar o texto
  de cada elemento (neste caso uma div), assim todos os elementos
  são verificados e somente o que satisfaz a condição retorna



www.qualister.com.br
Conceituação para Exercício 9

• Em diversos momentos é necessário garantir uma certa
  informação, que é nosso resultado esperado.

• Muitas vezes a página possui a mesma informação em locais
  diferentes, mas precisamos garantir que a infomação está em
  um determinado local

• É muito valido, neste cado, que coloquemos o caminho para
  esta informação através de xpath

• Isso vai garantir que a informação que foi validada é a que
  esperamos

• Veremos como esperar por uma informação em determinado
  local no exercício

www.qualister.com.br
Conceituação para Exercício 10

• Este exercício utiliza a mesma lógica das esperas com Ajax

• A dica para este exercício é identificar como é o
  comportamento de cada combo e utilizar os comandos para
  esperar pelas informações certas




www.qualister.com.br
Quer saber mais?


Estes são apenas alguns slides do curso
 de automação de testes com selenium
 Para maiores informações e novas turmas, visite nosso site:


                http://www.qualister.com.br/cursos

                       contato@qualister.com.br


www.qualister.com.br

Mais conteúdo relacionado

Mais procurados

Robot Framework no DevTests #34
Robot Framework no DevTests #34Robot Framework no DevTests #34
Robot Framework no DevTests #34Mayara Fernandes
 
Automação de teste de software
Automação de teste de softwareAutomação de teste de software
Automação de teste de softwareQualister
 
Source Code Analysis with SAST
Source Code Analysis with SASTSource Code Analysis with SAST
Source Code Analysis with SASTBlueinfy Solutions
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geralpaulo peres
 
Robot Framework - principais características
Robot Framework - principais característicasRobot Framework - principais características
Robot Framework - principais característicasalinebiath
 
Automated Web Testing Using Selenium
Automated Web Testing Using SeleniumAutomated Web Testing Using Selenium
Automated Web Testing Using SeleniumWeifeng Zhang
 
Secure Code Warrior - Unrestricted file upload
Secure Code Warrior - Unrestricted file uploadSecure Code Warrior - Unrestricted file upload
Secure Code Warrior - Unrestricted file uploadSecure Code Warrior
 
Engenharia de Software II - Teste de segurança de software
Engenharia de Software  II - Teste de segurança de softwareEngenharia de Software  II - Teste de segurança de software
Engenharia de Software II - Teste de segurança de softwareJuliano Padilha
 
Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de softwareRondinelli Mesquita
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de RequisitosCloves da Rocha
 
Desenvolvimento Web : HTML5, CSS3 & JavaScript
Desenvolvimento Web : HTML5, CSS3 & JavaScriptDesenvolvimento Web : HTML5, CSS3 & JavaScript
Desenvolvimento Web : HTML5, CSS3 & JavaScriptFábio Flatschart
 
Documentação de Arquitetura de Software Aplicando o C4 Model
Documentação de Arquitetura  de Software Aplicando o C4 ModelDocumentação de Arquitetura  de Software Aplicando o C4 Model
Documentação de Arquitetura de Software Aplicando o C4 ModelDouglas Alonso
 
Aula 3 técnicas de teste de software1
Aula 3   técnicas de teste de software1Aula 3   técnicas de teste de software1
Aula 3 técnicas de teste de software1Tiago Vizoto
 
Programação Web - CSS
Programação Web - CSSProgramação Web - CSS
Programação Web - CSSMauro Pereira
 
Automação de Testes com Robot Framework - GUTS-SC
Automação de Testes com Robot Framework - GUTS-SCAutomação de Testes com Robot Framework - GUTS-SC
Automação de Testes com Robot Framework - GUTS-SCMayara Fernandes
 

Mais procurados (20)

HTML Principios Básicos
HTML Principios BásicosHTML Principios Básicos
HTML Principios Básicos
 
Robot Framework no DevTests #34
Robot Framework no DevTests #34Robot Framework no DevTests #34
Robot Framework no DevTests #34
 
Trabalho OpenSUSe
Trabalho OpenSUSeTrabalho OpenSUSe
Trabalho OpenSUSe
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Automação de teste de software
Automação de teste de softwareAutomação de teste de software
Automação de teste de software
 
Apostila UML
Apostila UML Apostila UML
Apostila UML
 
Source Code Analysis with SAST
Source Code Analysis with SASTSource Code Analysis with SAST
Source Code Analysis with SAST
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geral
 
Robot Framework - principais características
Robot Framework - principais característicasRobot Framework - principais características
Robot Framework - principais características
 
Automated Web Testing Using Selenium
Automated Web Testing Using SeleniumAutomated Web Testing Using Selenium
Automated Web Testing Using Selenium
 
Secure Code Warrior - Unrestricted file upload
Secure Code Warrior - Unrestricted file uploadSecure Code Warrior - Unrestricted file upload
Secure Code Warrior - Unrestricted file upload
 
Engenharia de Software II - Teste de segurança de software
Engenharia de Software  II - Teste de segurança de softwareEngenharia de Software  II - Teste de segurança de software
Engenharia de Software II - Teste de segurança de software
 
Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de software
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
Desenvolvimento Web : HTML5, CSS3 & JavaScript
Desenvolvimento Web : HTML5, CSS3 & JavaScriptDesenvolvimento Web : HTML5, CSS3 & JavaScript
Desenvolvimento Web : HTML5, CSS3 & JavaScript
 
TDD com Python (Completo)
TDD com Python (Completo)TDD com Python (Completo)
TDD com Python (Completo)
 
Documentação de Arquitetura de Software Aplicando o C4 Model
Documentação de Arquitetura  de Software Aplicando o C4 ModelDocumentação de Arquitetura  de Software Aplicando o C4 Model
Documentação de Arquitetura de Software Aplicando o C4 Model
 
Aula 3 técnicas de teste de software1
Aula 3   técnicas de teste de software1Aula 3   técnicas de teste de software1
Aula 3 técnicas de teste de software1
 
Programação Web - CSS
Programação Web - CSSProgramação Web - CSS
Programação Web - CSS
 
Automação de Testes com Robot Framework - GUTS-SC
Automação de Testes com Robot Framework - GUTS-SCAutomação de Testes com Robot Framework - GUTS-SC
Automação de Testes com Robot Framework - GUTS-SC
 

Destaque

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
 
Automação de Teste Funcionais - Selenium
Automação de Teste Funcionais - SeleniumAutomação de Teste Funcionais - Selenium
Automação de Teste Funcionais - SeleniumIsrael Santiago
 
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
 
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
 
Testes Funcionais e Estruturais utilizando Selenium IDE e Cobertura
Testes Funcionais e Estruturais utilizando Selenium IDE e CoberturaTestes Funcionais e Estruturais utilizando Selenium IDE e Cobertura
Testes Funcionais e Estruturais utilizando Selenium IDE e CoberturaTiago Antônio da Silva
 
Testes Funcionais com Selenium
Testes Funcionais com Selenium Testes Funcionais com Selenium
Testes Funcionais com Selenium Mayron Cachina
 
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
 
DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilElias Nogueira
 
Perspectivas do profissional de qualidade e testes de software
Perspectivas do profissional de qualidade e testes de softwarePerspectivas do profissional de qualidade e testes de software
Perspectivas do profissional de qualidade e testes de softwareQualister
 
selenium-2-mobile-web-testing
selenium-2-mobile-web-testingselenium-2-mobile-web-testing
selenium-2-mobile-web-testinghugs
 
Demoiselle Behave - Parte 2
Demoiselle Behave - Parte 2Demoiselle Behave - Parte 2
Demoiselle Behave - Parte 2Vanderson Silva
 
Demoiselle Behave - Visão Geral
Demoiselle Behave - Visão GeralDemoiselle Behave - Visão Geral
Demoiselle Behave - Visão GeralVanderson Silva
 
Mini curso testes ágeis
Mini curso testes ágeisMini curso testes ágeis
Mini curso testes ágeisQualister
 
Artigo Automação de testes funcionais com Demoiselle Behave
Artigo Automação de testes funcionais com Demoiselle BehaveArtigo Automação de testes funcionais com Demoiselle Behave
Artigo Automação de testes funcionais com Demoiselle BehaveJulian Cesar
 
Demoiselle Behave - Parte 4
Demoiselle Behave - Parte 4Demoiselle Behave - Parte 4
Demoiselle Behave - Parte 4Vanderson Silva
 
Demoiselle Behave - Parte 3
Demoiselle Behave - Parte 3Demoiselle Behave - Parte 3
Demoiselle Behave - Parte 3Vanderson Silva
 
Demoiselle Behave - Parte 1
Demoiselle Behave - Parte 1Demoiselle Behave - Parte 1
Demoiselle Behave - Parte 1Vanderson Silva
 

Destaque (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
 
Automação de Teste Funcionais - Selenium
Automação de Teste Funcionais - SeleniumAutomação de Teste Funcionais - Selenium
Automação de Teste Funcionais - 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 ide
Selenium ideSelenium ide
Selenium ide
 
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
 
Testes Funcionais e Estruturais utilizando Selenium IDE e Cobertura
Testes Funcionais e Estruturais utilizando Selenium IDE e CoberturaTestes Funcionais e Estruturais utilizando Selenium IDE e Cobertura
Testes Funcionais e Estruturais utilizando Selenium IDE e Cobertura
 
Testes Funcionais com Selenium
Testes Funcionais com Selenium Testes Funcionais com Selenium
Testes Funcionais com Selenium
 
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
 
DevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágilDevCamp - O papel de um testador em uma equipe ágil
DevCamp - O papel de um testador em uma equipe ágil
 
Perspectivas do profissional de qualidade e testes de software
Perspectivas do profissional de qualidade e testes de softwarePerspectivas do profissional de qualidade e testes de software
Perspectivas do profissional de qualidade e testes de software
 
selenium-2-mobile-web-testing
selenium-2-mobile-web-testingselenium-2-mobile-web-testing
selenium-2-mobile-web-testing
 
Selenium web pt br
Selenium web pt brSelenium web pt br
Selenium web pt br
 
Demoiselle Behave - Parte 2
Demoiselle Behave - Parte 2Demoiselle Behave - Parte 2
Demoiselle Behave - Parte 2
 
Demoiselle Behave - Visão Geral
Demoiselle Behave - Visão GeralDemoiselle Behave - Visão Geral
Demoiselle Behave - Visão Geral
 
Mini curso testes ágeis
Mini curso testes ágeisMini curso testes ágeis
Mini curso testes ágeis
 
Artigo Automação de testes funcionais com Demoiselle Behave
Artigo Automação de testes funcionais com Demoiselle BehaveArtigo Automação de testes funcionais com Demoiselle Behave
Artigo Automação de testes funcionais com Demoiselle Behave
 
Demoiselle Behave - Parte 4
Demoiselle Behave - Parte 4Demoiselle Behave - Parte 4
Demoiselle Behave - Parte 4
 
Demoiselle Behave - Parte 3
Demoiselle Behave - Parte 3Demoiselle Behave - Parte 3
Demoiselle Behave - Parte 3
 
Demoiselle Behave - Parte 1
Demoiselle Behave - Parte 1Demoiselle Behave - Parte 1
Demoiselle Behave - Parte 1
 

Semelhante a Treinamento de Automação com Selenium

Assespro pr-workshop-robot framework
Assespro pr-workshop-robot frameworkAssespro pr-workshop-robot framework
Assespro pr-workshop-robot frameworkMayara Fernandes
 
Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end seleniumQualister
 
Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de SeleniumAutotic
 
Testes com TestLink e Selenium
Testes com TestLink e SeleniumTestes com TestLink e Selenium
Testes com TestLink e SeleniumAndré Thiago
 
Testando aplicações Flex com Selenium
Testando aplicações Flex com SeleniumTestando aplicações Flex com Selenium
Testando aplicações Flex com SeleniumVictor Serta
 
Selenium
SeleniumSelenium
Seleniumfatec
 
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
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e djangoIgor Sobreira
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
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
 
Testes para dispositivos móveis
Testes para dispositivos móveisTestes para dispositivos móveis
Testes para dispositivos móveisQualister
 
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...GUTS-RS
 
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
 
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com CodeceptionQualister
 

Semelhante a Treinamento de Automação com Selenium (20)

Hands On Selenium
Hands On SeleniumHands On Selenium
Hands On Selenium
 
Assespro pr-workshop-robot framework
Assespro pr-workshop-robot frameworkAssespro pr-workshop-robot framework
Assespro pr-workshop-robot framework
 
Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end selenium
 
Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de Selenium
 
Testes com TestLink e Selenium
Testes com TestLink e SeleniumTestes com TestLink e Selenium
Testes com TestLink e Selenium
 
Testando aplicações Flex com Selenium
Testando aplicações Flex com SeleniumTestando aplicações Flex com Selenium
Testando aplicações Flex com Selenium
 
Selenium
SeleniumSelenium
Selenium
 
Selenium
SeleniumSelenium
Selenium
 
Selenium web pt br
Selenium web pt brSelenium web pt br
Selenium web pt br
 
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
 
Desenvolvimento web com python e django
Desenvolvimento web com python e djangoDesenvolvimento web com python e django
Desenvolvimento web com python e django
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
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...
 
Test day 2012
Test day 2012Test day 2012
Test day 2012
 
TDC 2016 Trilha Testes - Floripa
TDC 2016 Trilha Testes - FloripaTDC 2016 Trilha Testes - Floripa
TDC 2016 Trilha Testes - Floripa
 
Testes para dispositivos móveis
Testes para dispositivos móveisTestes para dispositivos móveis
Testes para dispositivos móveis
 
Selenium: visão geral
Selenium: visão geralSelenium: visão geral
Selenium: visão geral
 
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
 
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
 
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception[TDC2015] De unitário a aceitação: Automação de testes com Codeception
[TDC2015] De unitário a aceitação: Automação de testes com Codeception
 

Mais de Qualister

Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeisQualister
 
Testes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidadesTestes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidadesQualister
 
Perspectivas em teste de software
Perspectivas em teste de softwarePerspectivas em teste de software
Perspectivas em teste de softwareQualister
 
DEV-OPS para teste de software
DEV-OPS para teste de softwareDEV-OPS para teste de software
DEV-OPS para teste de softwareQualister
 
Palestra sobre Automação de Testes com Rest-Assured
Palestra sobre Automação de Testes com Rest-AssuredPalestra sobre Automação de Testes com Rest-Assured
Palestra sobre Automação de Testes com Rest-AssuredQualister
 
Palestra Rest-Assured com Maven e JUnit
Palestra Rest-Assured com Maven e JUnitPalestra Rest-Assured com Maven e JUnit
Palestra Rest-Assured com Maven e JUnitQualister
 
Tendências em teste de software
Tendências em teste de softwareTendências em teste de software
Tendências em teste de softwareQualister
 
Juntando para multiplicar
Juntando para multiplicarJuntando para multiplicar
Juntando para multiplicarQualister
 
Testes performance nuvem com j meter e blazemeter
Testes performance nuvem com j meter e blazemeterTestes performance nuvem com j meter e blazemeter
Testes performance nuvem com j meter e blazemeterQualister
 
Testes de usabilidade com uma pitada de lean ux
Testes de usabilidade com uma pitada de lean uxTestes de usabilidade com uma pitada de lean ux
Testes de usabilidade com uma pitada de lean uxQualister
 
Gestão de defeitos e testes com Jira
Gestão de defeitos e testes com JiraGestão de defeitos e testes com Jira
Gestão de defeitos e testes com JiraQualister
 
Testes em Web Services - conceitos e ferramentas
Testes em Web Services - conceitos e ferramentasTestes em Web Services - conceitos e ferramentas
Testes em Web Services - conceitos e ferramentasQualister
 
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014Qualister
 
Como testar aplicativos ios e android
Como testar aplicativos ios e androidComo testar aplicativos ios e android
Como testar aplicativos ios e androidQualister
 
Automacao de testes com keyword driven
Automacao de testes com keyword drivenAutomacao de testes com keyword driven
Automacao de testes com keyword drivenQualister
 
Agile testing
Agile testingAgile testing
Agile testingQualister
 
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvemBRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvemQualister
 
Teste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingTeste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingQualister
 
Free-ebook-rex-black advanced-software-testing
Free-ebook-rex-black advanced-software-testingFree-ebook-rex-black advanced-software-testing
Free-ebook-rex-black advanced-software-testingQualister
 
Galileo computing software testing
Galileo computing software testingGalileo computing software testing
Galileo computing software testingQualister
 

Mais de Qualister (20)

Mini curso de testes ágeis
Mini curso de testes ágeisMini curso de testes ágeis
Mini curso de testes ágeis
 
Testes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidadesTestes de segurança desafios e oportunidades
Testes de segurança desafios e oportunidades
 
Perspectivas em teste de software
Perspectivas em teste de softwarePerspectivas em teste de software
Perspectivas em teste de software
 
DEV-OPS para teste de software
DEV-OPS para teste de softwareDEV-OPS para teste de software
DEV-OPS para teste de software
 
Palestra sobre Automação de Testes com Rest-Assured
Palestra sobre Automação de Testes com Rest-AssuredPalestra sobre Automação de Testes com Rest-Assured
Palestra sobre Automação de Testes com Rest-Assured
 
Palestra Rest-Assured com Maven e JUnit
Palestra Rest-Assured com Maven e JUnitPalestra Rest-Assured com Maven e JUnit
Palestra Rest-Assured com Maven e JUnit
 
Tendências em teste de software
Tendências em teste de softwareTendências em teste de software
Tendências em teste de software
 
Juntando para multiplicar
Juntando para multiplicarJuntando para multiplicar
Juntando para multiplicar
 
Testes performance nuvem com j meter e blazemeter
Testes performance nuvem com j meter e blazemeterTestes performance nuvem com j meter e blazemeter
Testes performance nuvem com j meter e blazemeter
 
Testes de usabilidade com uma pitada de lean ux
Testes de usabilidade com uma pitada de lean uxTestes de usabilidade com uma pitada de lean ux
Testes de usabilidade com uma pitada de lean ux
 
Gestão de defeitos e testes com Jira
Gestão de defeitos e testes com JiraGestão de defeitos e testes com Jira
Gestão de defeitos e testes com Jira
 
Testes em Web Services - conceitos e ferramentas
Testes em Web Services - conceitos e ferramentasTestes em Web Services - conceitos e ferramentas
Testes em Web Services - conceitos e ferramentas
 
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
 
Como testar aplicativos ios e android
Como testar aplicativos ios e androidComo testar aplicativos ios e android
Como testar aplicativos ios e android
 
Automacao de testes com keyword driven
Automacao de testes com keyword drivenAutomacao de testes com keyword driven
Automacao de testes com keyword driven
 
Agile testing
Agile testingAgile testing
Agile testing
 
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvemBRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
BRATESTE 2013 - Automação de testes de dispositivos móveis na nuvem
 
Teste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingTeste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testing
 
Free-ebook-rex-black advanced-software-testing
Free-ebook-rex-black advanced-software-testingFree-ebook-rex-black advanced-software-testing
Free-ebook-rex-black advanced-software-testing
 
Galileo computing software testing
Galileo computing software testingGalileo computing software testing
Galileo computing software testing
 

Treinamento de Automação com Selenium

  • 1. (48) 4052-9536 / 9540 contato@qualister.com.br • Terceirização de profissionais • Consultoria de teste • Avaliação de usabilidade • Automação de testes • Testes de performance • Treinamentos Treinamento Automação de testes com Selenium www.qualister.com.br
  • 2. Quer saber mais? Estes são apenas alguns slides do curso de automação de testes com selenium Para maiores informações e novas turmas, visite nosso site: http://www.qualister.com.br/cursos www.qualister.com.br
  • 4. Instrutor Elias Nogueira Email: elias.nogueira@gmail.com Blog: http://sembugs.blogspot.com Arquiteto de Teste de Software com ênfase em automação de Teste. Atualmente trabalha como Consultor Técnico na linha de ALM da Hewlett Packard e Consultor em Automação e Teste e Instrutor na Qualister. Possui a certificação CSTE – Certified Software Tester pela QAI e possui uma Pos Graduação em Teste de Software Já deu diversas palestras sobre Java e Teste de Software. Ativo na comunidade de Teste também coordenou alguns eventos e encontros de testes, como no Testadores e no The Developers Conference @eliasnogueira http://sembugs.blogspot.com http://slideshare.net/elias.nogueira http://about.ne/eliasnogueira www.qualister.com.br
  • 5. Sobre a Qualister • Fundação: 2007. • Sobre a Qualister: A Qualister é uma empresa nacional, constituída a partir da união de profissionais qualificados e certificados na área de testes e qualidade de software, com o objetivo de integrar, implementar e implantar soluções com base nas melhores práticas do mercado e normas internacionais. • Colaboradores: A Qualister é composta por colaboradores pós-graduados e certificados na área de testes (CBTS, CSTE) com larga experiência na indústria de Tecnologia da Informação. • Área de atuação: A Qualister é uma empresa especializada em serviços de qualidade e teste de software. Tem como linhas de atuação consultoria em teste/qualidade de software, outsourcing (terceirização dos serviços através da alocação de profissionais) e treinamentos. www.qualister.com.br
  • 6. Parcerias internacionais Soluções para automação, profilling e gestão Soluções para testes de performance Soluções de apoio a avaliação de usabilidade www.qualister.com.br
  • 7. O que é o Selenium? www.qualister.com.br
  • 8. O que é o Selenium • Selenium é um conjunto de ferramentas para automação de browsers web • Atualmente é composto por 4 grandes projetos Selenium IDE Plugin do Firefox que permite a gravação e execução de ações efetuadas em uma página web Selenium Remote Control Permite o controle e execução de scripts em outros browsers e máquinas Também utilizarmos linguagens de programação para criar os scripts Selenium Webdriver Emula nativamente diversos browsers localmente ou em máquinas remotas através de programação Selenium Grid Habilita a execução de scripts simultaneamente em diferentes máquinas www.qualister.com.br
  • 9. O que é o Selenium • Nosso foco será no Selenium IDE e no Selenium Remote Control • O suporte a browsers é bem extenso, como Firefox, Internet Explorer, Opera, Safari e GoogleChrome • Também com suporte a linguagens de programação como: Java, C#, Python, PHP, Ruby e Perl • E suporte a Sistemas Operacionais: Windows, Linux, OsX e Solaris • Para saber mais sobre o suporte do Selenium acesse http://seleniumhq.org/about/platforms.html www.qualister.com.br
  • 10. O que é o Selenium • Uma grande dica é sempre acompanhar a página de documentação do Selenium, que é atualizada constantemente, bem como outros itens: • Documentação: http://seleniumhq.org/docs/ • Twitter: @SeleniumHQ • Lista de email: http://groups.google.com/group/selenium- users • Blog: http://seleniumhq.wordpress.com/ www.qualister.com.br
  • 11. Instalando o Selenium IDE www.qualister.com.br
  • 12. Instalando o Selenium IDE • É um plugin para gravação e execução de testes pelo Firefox • O Selenium IDE instala SOMENTE no browser Firefox • Sempre verifique a página http://seleniumhq.org/download para encontrar a versão mais recente do Selenium IDE • O instalador é um Addon do Firefox, porém pode ser instalado separadamente baixando o arquivo .xpi e instalando off-line • Para versões beta do Firefox utilize o repositório do Selenium IDE http://xserve.openqa.org:8085/browse/IDE-EDITOR www.qualister.com.br
  • 13. Instalando o Selenium IDE • Abra o Firefox e acesse o site http://seleniumhq.org/download • Clique sobre o link referente a versão atual do Selenium IDE, como mostra a imagem abaixo www.qualister.com.br
  • 14. Instalando o Selenium IDE • Uma mensagem será apresentada no canto superior esquerdo do Firefox. Clique sobre o botão “Allow” (Permitir) • O download será executado. Aguarde o término da instalação do Addon www.qualister.com.br
  • 15. Instalando o Selenium IDE • A tela de instalação do Addon do Selenium será apresentada. Aguarde por 5 segundos e no botão “Install Now” (Instalar Agora) www.qualister.com.br
  • 16. Instalando o Selenium IDE • Agora no canto superior esquerdo mais uma mensagem para reiniciar o Firefox e validar a instalação do Addon do Selenium. Clique em “Restart Now” (Reiniciar) www.qualister.com.br
  • 17. Instalando o Selenium IDE • Após o Firefox reiniciar vá até o menu Firefox/Web Developer/Selenium IDE para abrir o Selenium IDE www.qualister.com.br
  • 18. Instalando o Selenium IDE • O Selenium IDE será aberto www.qualister.com.br
  • 20. Instalando o Firebug • Firebug é uma ferramenta de desenvolvimento web onde podemos editar, debug e monitorar CSS, HTML e Javascript em uma página web • Utilizaremos uma pequena funcionalidade do Firebug para nos ajudar em alguma automações com o Selenium www.qualister.com.br
  • 21. Instalando o Firebug • Acesse a página http://getfirebug.com • Clique sobre o “botão vermelho” “Install Firebug” • Você será direcionado para a página de download. Clique sobre o item recomendado para iniciar a instalação www.qualister.com.br
  • 22. Instalando o Firebug • Você será redirecionado para a ela de Add-ons do Firefox. Clique no botão Add to Firefox para iniciar a instalação www.qualister.com.br
  • 23. Instalando o Firebug • Uma mensagem aparecerá no canto superior esquerdo do browser. Clique no botão “Allow” (Permitir) • Aguarde o término do download www.qualister.com.br
  • 24. Instalando o Firebug • A tela de instalação do Addon do Firebug será apresentada. Aguarde por 5 segundos e no botão “Install Now” (Instalar Agora) www.qualister.com.br
  • 25. Instalando o Firebug • Agora no canto superior esquerdo mais uma mensagem para reiniciar o Firefox e validar a instalação do Addon do Firebug. Clique em “Restart Now” (Reiniciar) www.qualister.com.br
  • 26. Instalando o Firebug • Após o Firefox reiniciar vá até o menu Firefox/Web Developer/Firebug ou clique sobre o botão para habilitar a barra do Firebug www.qualister.com.br
  • 27. Firebug - Inspector • A maior funcionalidade do Firebug que utilizaremos para nos ajudar na automação com o Selenium é chamado de Inspector. • Podemos ativar o inspector pelo botão • Quando o ativamos passamos o mouse sobre qualquer elemento dentro da página web para visualizar o código-fonte do elemento que estiver apontado com a seta do mouse www.qualister.com.br
  • 28. Estrutura do Selenium IDE www.qualister.com.br
  • 29. Estrutura do Selenium IDE URL inicial Barra de menu Suíte de Teste Estrutura e edição do script Informações gerais www.qualister.com.br
  • 30. Estrutura do Selenium IDE • A URL Base é muito importante, pois quando iniciamos a gravação do script um comando chamado open é adicionado com o endereço da página, menos a base de acesso. • Com isso podemos trocar o endereço base e o script continua funcionando • A barra Fast Slow controla a velocidade do script. Procure utiliza-la somente em caráter de visualização das ações dos scripts. Aprenderemos como fazer esperar e não depender dessa funcionalidade do Selenium IDE www.qualister.com.br
  • 31. Estrutura do Selenium IDE • A barra de TestCase lista todos os scripts criados e é onde podemos agrupar diversos scripts e salvar uma suíte de teste • O conjunto de Estruturação de Script é onde visualizamos os comandos que estão sendo gravados, onde também podemos editá-los • O painel de Informações Gerais apresenta o log de execução, referência de comandos entre outras informações www.qualister.com.br
  • 32. Selenese, a linguagem do Selenium IDE • Todos os scripts gravados e salvos como TestCase são chamados de Selenese • Selenese é uma “linguagem” própria do Selenium através de comandos por palavras-chave (Keyword Driven) • A visualização do código-fonte nada mais é do que uma tabela HTML com a mesma visualização da tabela no Selenium IDE www.qualister.com.br
  • 33. Selenese, a linguagem do Selenium IDE • As Suítes de Teste podem ser salvas com um único script ou com vários • A estrutura do código-fonte é nada mais que o caminho para cada script www.qualister.com.br
  • 35. Comandos Básicos • Existem uma série de comandos no Selenium IDE já prontos • Visualizamos estes comandos no próprio Selenium IDE pela combo Command www.qualister.com.br
  • 36. Comandos Básicos • Existem basicamente três divisões de comandos: de garantia ou verificação, de ação e gerais • Os comandos de garantia e verificação podem ser identificados como verify... ou assert... Ex: assertTextPresent garante que um determinado texto está contido na página • Asserts: garante que uma certa informação está na página, se não estiver falha e para a execução do script • Verifys: verifica se uma certa informação está na página, se não estiver marca o comando como erro e continua a execução do script www.qualister.com.br
  • 37. Comandos Básicos • Podemos chamar os comandos de ações os que mudam o comportamento da página como click, keys, mouse, etc... • Um ponto importante sobre o comando click é que podemos visualizar o comando clickAndWait... Isso indica que o clique mudou o comportamento da página e o Selenium fará uma espera até a página ser carregada • Todos os comandos que terminam com AndWait fazem uma espera até que a página seja 100% carregada ou que o tempo total de espera seja ultrapassado. Ele é configurado pelo menu Options/Options/Default timeout value... www.qualister.com.br
  • 38. Comandos Básicos • As ações gerais são qualquer outro comando específico dentro do Selenium • Sempre que precisarmos entender o que faz um comando selecionamos ele através da combo Command e a aba Reference é habilitada. Poderemos ver o que o comando realmente faz sobre a página ou sobre os elementos www.qualister.com.br
  • 40. Conceituação para Exercício 1 • Locators: são formas de identificar um elemento dentro da página web. É um dos principais pontos que devemos entender no Selenium • Os locators podem ser do tipo: – Id: localização pelo ID de um elemento – Nome: localização pelo nome de um elemento – Xpath: localização ou por funções ou por navegação – Links: localização por um link na página – DOM: localização através de propriedades via javascript – CSS: localização por estilos www.qualister.com.br
  • 41. Conceituação para Exercício 1 • Localização por ID • Encontra um elemento pelo atributo id • No exemplo abaixo o único elemento que podemos interagir pelo id é o form • Ex: id=loginForm www.qualister.com.br
  • 42. Conceituação para Exercício 1 • Localização por Name • Encontra um elemento pelo atributo name • No exemplo abaixo podemos interagir com quatro elementos: campo de login e senha, botão de login e botão de limpar • Ex: id=username • Observação: como temos dois elementos com o mesmo nome (continue) o Selenium sempre pega o primeiro que encontra www.qualister.com.br
  • 43. Conceituação para Exercício 1 • Localização por xpath • Encontra um elemento através da navegação entre os elementos • No exemplo abaixo podemos localiza qualquer elemento por xpath e de diversas formas.... • Ex: //input[3] irá encontrar o botão de login //input[@name=“continue” and @type=“button” ] irá encontrar o botão de limpar www.qualister.com.br
  • 44. Conceituação para Exercício 1 • Localização por link • Encontra um elemento do link (href) de uma página • No exemplo podemos encontrar os dois links existentes • Ex: link=Continue localiza o link de Continue (“continue.html”) link=Cancel localiza o link de Cancel (“cancel.html”) www.qualister.com.br
  • 45. Conceituação para Exercício 1 • Localização por DOM • Encontra um elemento através de javascript • No exemplo podemos encontrar qualquer elemento • Ex: documents.forms[0].password localiza o campo de password www.qualister.com.br
  • 46. Conceituação para Exercício 1 • Localização por CSS • Encontra um elemento através de um estilo CSS ou navegação na página • No exemplo podemos encontrar qualquer elemento • Ex: css=input.required[type=“text”] localiza o elemento de usuário css=input[name=“password"] localiza o elemento de senha www.qualister.com.br
  • 47. Qual a melhor estratégia? • A melhor estratégia de localização está na ordem abaixo: – id – name – Link – CSS – DOM – Xpath • Embora CSS esteja em quarto, o Selenium IDE pega a grande parte dos elementos que não tenham ID ou name por CSS • Embora o Xpath esteja por último, existem funções que nos ajudam a localizar mais facilmente um elemento www.qualister.com.br
  • 48. Conceituação para Exercício 2 • Comumente as páginas web utilizam funções em javascript para executarem determinadas tarefas • O Selenium tem diversos suportes para javascript, como os comandos abaixo: – addScript: adiciona um script javascript na página para execução do teste – assertEval: garante a avaliação de um resultado positivo de um javascript – assertNotEval: garante a avaliação de um resultado negativo de um javascript – fireEvent: simula um evento em um determinado elemento – runScript: executa um javascript – removeScript: remove uma tag script – storeEval: guarda o resultado de alguma ação via javascript – verifyEval: verifica a avaliação de um resultado positivo de um javascript – verifyNotEval: verifica a avaliação de um resultado negativo de um javascript – waitForEval: espera por algum resultado positivo de um javascript – waitForNotEval: espera por algum resultado negativo de um javascript www.qualister.com.br
  • 49. Conceituação para Exercício 3 • Alertas são mensagens informativas em javascript que possuem apenas um botão de OK • Confirmações são mensagens em javascript esperando uma determinada ação de “sim/não” ou “ok/cancelar” • Existe uma série de comandos para cada tipo de mensagem, mas o que não devemos confundir é o tipo de cada um. Todos os comandos de alertas possuem a palavra alert, e as confirmações possuem a palavra confirmation www.qualister.com.br
  • 50. Conceituação para Exercício 3 • Alertas – assertAlert: garante que um alerta apareceu validando pelo seu texto – assertAlertNotPresent: garante que um alerta não apareça validando pelo seu texto – assertAlertPresent: garante que qualquer alerta apareceu, independente do seu texto – storeAlert: guarda a mensagem/texto de um alerta – storeAlertPresent: guarda a mensagem/texto de um alerta presente na página – verifyAlert: verfica que um alerta apareceu validando pelo seu texto – verifyAlertPresent: verifica que um alerta apareça validando pelo seu texto – verifyAlertNotPresent: verifica que um alerta não apareça validando pelo seu texto – waitForAlert: espera por um alerta pelo seu texto – waitForAlertNotPresent: espera que um alerta não apareça mais na página – waitForAlertPresent: espera por qualquer alerta na página www.qualister.com.br
  • 51. Conceituação para Exercício 3 • Os mesmos comandos do Alerta servem para as Confirmações e tem as mesmas ações, porém com o nome confirmation ou invés de alert • O único comando adicionar é chooseCancelOnNextConfirmation, que enviar um sinal para que o Selenium ao invés de clicar sobre o botão OK, clique sobre o botão Cancelar. www.qualister.com.br
  • 52. Conceituação para Exercício 4 • Popups no Selenium tem o mesmo tratamento de janelas. • Vale salientar que o Selenium trabalha com janelas, mas não entende a troca de abas, logo se existirem mais de uma página ela deverá ser aberta em um novo browser • O Selenium possui os seguintes comandos para interagir com janelas – close: simula o click no botão close da janela ou popup – descelectPopup: tira o foco atual de uma popup – selectPopup: coloca o foco em uma popup – selectWindow: coloca o foco sobre uma janela ou popup – waitForPopUp: espera por uma determinada popup – windowFocus: coloca o foco sobre uma janela ou popup www.qualister.com.br
  • 53. Conceituação para Exercício 5 • Uma página web possui uma série de elementos HTML. Alguns que podemos interagir diretamente como usuários da página e outros não. • Veremos alguns dos principais elementos de integração com a página, como: – Input: que pode ser: • Caixa de texto/Senha • Radion button • Checkbox – Combobox e ListBox – ListBox www.qualister.com.br
  • 54. Conceituação para Exercício 6 • Expressões regulares são muito uteis no Selenium, onde temos três tipos de patterns (modos de uso): – Global – Expressões Regulares – Exatos • Os Globais podem utilizar a maioria dos caracteres coringa de expressões regulares e é util quando necessitamos interagir ou validar certos elementos que tem nomes em comum. • Utiliza o prefixo glob nos comandos Ex: click | link=glob: Pesquisar Relatorio * Neste exemplo ele encontra qualquer link com o que contenha o texto “Pesquisar Relatorio” como “Pesquisar Relatorio de Cliente”, Pesquisar “Relatório de Fornecedor,” etc.. www.qualister.com.br
  • 55. Conceituação para Exercício 6 • As Expressões Regulares utilizam todos os recursos da expressão regular para localizar qualquer tipo de informação na página ou mesmo valida-las • Utiliza o prefixo regexp nos comandos Ex: clicar sobre um link que é uma data na página (21/01/2011) click | link=regexp: [0-9]{2}/[0-9]{2}/[0-9]{4} • Para saber mais de como utilizar os recursos de expressão regular consulte http://pt.wikipedia.org/wiki/Express%C3%A3o_regular www.qualister.com.br
  • 56. Conceituação para Exercício 6 • Os Exatos são utilizados quando interagimos com algum elemento que tenha algum tipo de caracter especial utilizado por expressões regulares ou globais • Utiliza o prefixo exact nos comandos • Ex: Validação do texto “(1 U.S. dollar) * 1 Brazil real = 0.57241” assertTextPresent | exact:(1 U.S. dollar) * 1 Brazil real = 0.57241 www.qualister.com.br
  • 57. Conceituação para Exercício 7 • Para efetuarmos esperas por eventos em Ajax deveremos utilizar comandos que iniciem com waitFor • Essa é a melhor forma de esperar por qualquer informação na página. Por padrão todas as esperas no Selenium IDE tem o tempo de 30 segundos. Depois disso um erro de timeout é apresentado • O ideal em uma página com requisições Ajax é entender qual a forma de retorno da requisição, seja apresentando um texto, apresentando uma imagem, um campo, etc... A partir dai pesquisamos pelo comando waitFor... mais apropriado • Ex: para uma requisição Ajax que, ao seu término, apresenta o botão de Remover e que tenha id=delete, podemos utilizar o comando: waitForElementPresent | id=delete www.qualister.com.br
  • 58. Conceituação para Exercício 7 • O timeout do Selenium IDE é configurado pelo menu Option/Options... • O campo “Default timeout value of recorded command in miliseconds” quarda o tempo de espera em milisegundos, onde 10s = 10.000 ms www.qualister.com.br
  • 59. Conceituação para Exercício 8 • Para encontrarmos certos tipos de elementos na página web podemos utilizar algumas funções do xpath • starts-with: útil quando um elemento tem um mesmo prefixo Ex: elemento como caixa de texto: id=name1345 click | //input[starts-with(@id,’name’)] • ends-with: útil quando um elemento termina com uma mesma informação Ex: elemento imagem: <img src=“icon_1234_small32x32.png /> click | //img[ends-with(@src,’small32x32.png’)] www.qualister.com.br
  • 60. Conceituação para Exercício 8 • contains: muito útil para encontrarmos elementos que contenham certa informação. Ex: lista de informações onde cada uma é uma div, e queremos encontrar o valor “Fulano de Tal”: <div[id=123]>Fulano de Tal</div> • Comando para encontrar: //div[contains(text(),’Fulano de Tal’)] • Neste caso utilizamos também a função text(), para pegar o texto de cada elemento (neste caso uma div), assim todos os elementos são verificados e somente o que satisfaz a condição retorna www.qualister.com.br
  • 61. Conceituação para Exercício 9 • Em diversos momentos é necessário garantir uma certa informação, que é nosso resultado esperado. • Muitas vezes a página possui a mesma informação em locais diferentes, mas precisamos garantir que a infomação está em um determinado local • É muito valido, neste cado, que coloquemos o caminho para esta informação através de xpath • Isso vai garantir que a informação que foi validada é a que esperamos • Veremos como esperar por uma informação em determinado local no exercício www.qualister.com.br
  • 62. Conceituação para Exercício 10 • Este exercício utiliza a mesma lógica das esperas com Ajax • A dica para este exercício é identificar como é o comportamento de cada combo e utilizar os comandos para esperar pelas informações certas www.qualister.com.br
  • 63. Quer saber mais? Estes são apenas alguns slides do curso de automação de testes com selenium Para maiores informações e novas turmas, visite nosso site: http://www.qualister.com.br/cursos contato@qualister.com.br www.qualister.com.br