Selenium Workshop
-
Upload
thoughtworks -
Category
Technology
-
view
1.356 -
download
0
description
Transcript of Selenium Workshop
SELENIUM WORKSHOPThoughtWorks Brasil Belo Horizonte - MG
1
AGENDA
!!
▫︎ Por que automação de testes?
▫︎ Introdução ao Selenium
▫︎ Entendendo o Selenium
▫︎ Exercícios "mão na massa"
2
VANTAGENS DOS TESTES AUTOMATIZADOS
!
▫︎ Evitar trabalho repetitivo
!
▫︎Geralmente mais rápido que teste manual
!
▫︎ Feedback constante da aplicação
!
▫︎ Simular a interação de um usuário real do sistema
3
VANTAGENS DOS TESTES AUTOMATIZADOS
▫︎Não é diretamente acoplada à implementação do código
!
▫︎Auxilia a encontrar bugs e erros de regressão
!
▫︎ Fácil de ser implementado em diferentes plataformas e navegadores
!
▫︎ Podemos encontrar inclusive problemas de hardware (memória e recursos) através da automação
4
DESVANTAGENS DOS TESTES AUTOMATIZADOS
!
▫︎Manutenção
!
▫︎ Velocidade pode ser afetada
!
▫︎ Fragilidade (depende de elementos da UI)
!
▫︎ Vulnerabilidade - Os testes podem ficar instáveis se, por exemplo, algum componente em Javascript demorar para carregar.
5
NÃO!!
6
DEVO AUTOMATIZAR TUDO?
NÃO AUTOMATIZAR QUANDO:
!
▫︎Haverá mudanças consideráveis na interface do usuário em um futuro bem próximo
!
▫︎Muito pouco tempo para testar
!
▫︎Não é uma ação muito comum e previsível de ser realizada por um usuário real
!
▫︎Cenários extremamente complexos
7
QUADRANTES DO AGILE TESTING
8
Adaptada de: http://lisacrispin.com/2011/11/08/using-the-agile-testing-quadrants
PIRÂMIDE DE TESTE DE SOFTWARE
9
Adaptada de: http://watirmelon.com/2012/01/31/introducing-the-software-testing-ice-cream-cone
PIRÂMIDE INVERTIDA (SORVETE) DE TESTE DE SOFTWARE
10
Adaptado de: http://watirmelon.com/2012/01/31/introducing-the-software-testing-ice-cream-cone
INTRODUÇÃO AO SELENIUM
!
▫︎ Iniciada em 2004 por um ThoughtWorker chamado Jason Huggins
!
▫︎Algum tempo depois, Simon Stewart do Google iniciou um projeto chamado WebDriver
!
▫︎Ambos projetos se uniram, dando origem ao Selenium-WebDriver (Selenium 2.0)
11
POR QUE SELENIUM?
!
▫︎ Suporta várias linguagens: Java, Ruby, Python, JavaScript, etc…
!
▫︎ Suporta vários browsers: Chrome, Firefox, Safari, IE, Opera, Headless, Android, iOS etc…
!
▫︎ É open-source!
12
ALGUMAS OUTRAS VARIAÇÕES...
!!
▫︎Selenium IDE: ferramenta record & playback apenas para testes simples/básicos. Não recomendado para automação séria! :)
!
▫︎Selenium-Grid: Útil para executar testes em paralelo em múltiplas máquinas remotas.
13
O QUE É DOM (DOCUMENT OBJECT MODEL) ?
14
ANTES DE COMEÇARMOS…
DOM - DATA OBJECT MODEL
15
COMO CAPTURAR ELEMENTOS NO DOM?
!!!
▫︎Chrome Dev Tools
!
▫︎Firebug
16
ALGUNS ELEMENTOS COMUNS...
17
ENTENDENDO O SELENIUM
18
ENTENDENDO O SELENIUM
19
Asserções
MÃO NA MASSA!
20
ATIVIDADES
!
▫︎ Instalação e configuração (Eclipse + Selenium-WebDriver + JUnit + Hamcrest)
▫︎ Automatizando do zero
▫︎ https://github.com/ThoughtWorksInc/twseleniumworkshop/blob/master/test/twseleniumworkshop/Exercicio1.java
▫︎ https://github.com/ThoughtWorksInc/twseleniumworkshop/blob/master/test/twseleniumworkshop/Exercicio2.java
▫︎ https://github.com/ThoughtWorksInc/twseleniumworkshop/blob/master/test/twseleniumworkshop/Exercicio3.java
▫︎ https://github.com/ThoughtWorksInc/twseleniumworkshop/blob/master/test/twseleniumworkshop/Exercicio4.java
▫︎ https://github.com/ThoughtWorksInc/twseleniumworkshop/tree/master/test/twseleniumworkshop/PageObject
21
PRÓXIMOS PASSOS
!
▫︎ Page Object Design Pattern
!
▫︎Headless browser
!
▫︎Cucumber/BDD
!
▫︎Mobile (Android)
22
LIVROS/MATERIAIS RECOMENDADOS
!
▫︎ Selenium:
▫︎ Selenium API
▫︎ Selenium WebDriver Practical Guide
▫︎ Selenium Simplified
!
▫︎ Teste de Software e outras ferramentas:
▫︎ Agile Testing: A Practical Guide for Testers and Agile Teams
▫︎ The Cucumber Book
23
24
Obrigado!!
É isso aí, galera!