tdc-go2011 - felipe knorr kuhn (selenium com page objects)
DESCRIPTION
Apresentação do TDC Goiânia sobre Selenium e Page ObjectsTRANSCRIPT
Selenium 2.0 (WebDriver) com Page Objects. Como
isso funciona?T h e D e v e l o p e r ’ s C o n f e r e n c e 2 0 1 1
Felipe Knorr KuhnGoiânia, 29 de Outubro de 2011
Monday, November 7, 11
Sobre Mim
Monday, November 7, 11
Sobre Vocês
Monday, November 7, 11
Selenium?
Biblioteca para automação de browsers
Tarefas repetitivas
Monday, November 7, 11
ATENÇÃO
SELENIUM NÃO É UMA FERRAMENTA!
Monday, November 7, 11
ATENÇÃO
TESTES NÃO SÃO AUTOMATIZÁVEIS!
“Checking vs Testing” - Michael Bolton
http://www.developsense.com/blog/2009/08/testing-vs-checking/
Monday, November 7, 11
Selenium 1.0
Monday, November 7, 11
Selenium 2.0
Monday, November 7, 11
Pausa
Monday, November 7, 11
Page Objects?
Scripts com orientação a objetos
Modularidade
Manutenção
Reuso
Abstração
Independência
Monday, November 7, 11
Lembram da Faculdade?
Estado
Comportamento
Atributos
Métodos
Mensagens
Monday, November 7, 11
Querem que eu desenhe?
Monday, November 7, 11
O quê isso tem a ver?
Uma forma bacana de escrever os scripts de automação
Exercício de programação :)
Aproximação com os desenvolvedores
Antecipação da automação
Monday, November 7, 11
Casos de Uso
P01. O usuário visita a página do IMDbO sistema apresenta a página do IMDb
P02. O usuário seleciona o critério de buscaO sistema aceita a entrada do usuário
P03. O usuário digita um nome de filme e aperta no botão de buscaO sistema apresenta o resultado da busca
Monday, November 7, 11
User Stories
Como um Usuário do IMDbEu quero pesquisar por um filmePara que eu possa ver as suas informações de produção
Quando eu acesso a página do IMDbE eu seleciono "Titles" na combo de categoriasE eu preencho o campo de busca com "Office Space"E eu clico no botão de buscaEntão eu vejo a página de resultados de buscaE eu vejo "Office Space" na seção "Exact Matches"
Monday, November 7, 11
Protótipos
Monday, November 7, 11
Aplicação Executável
Monday, November 7, 11
Como modelar?
Pensar no walkthrough
Separar em páginas
Mapear os elementos
Modelar a interação entre os objetos
Monday, November 7, 11
Na prática (1/3)
Monday, November 7, 11
Na prática (2/3)
Monday, November 7, 11
Na prática (3/3)
Monday, November 7, 11
Pausa
Monday, November 7, 11
Código!
Monday, November 7, 11
Código!
Monday, November 7, 11
Refatorando
Monday, November 7, 11
Repositório de Objetos
Monday, November 7, 11
Arquitetura
TestNG + WebDriver + Maven
Py.Saunter
http://element34.ca/products/saunter/pysaunter
Monday, November 7, 11
Referências
http://seleniumhq.org
http://linu.com.br/papers/paper070.html
http://pragprog.com/magazines/2010-08/page-objects-in-python
Monday, November 7, 11
Obrigado!
Felipe Knorr Kuhn
http://knorrium.info
http://linkedin.com/in/knorrium
http://twitter.com/knorrium
Monday, November 7, 11