testando interfaces web com splinter

Post on 15-Jan-2015

2.189 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Palestra "Testando interfaces web com Splinter" apresentada no FISL 12, no dia 01/07/2011 por Andrews Medina e Francisco Souza.

TRANSCRIPT

como trazer sua banda favorita para o

Friday, July 1, 2011

ou...

Friday, July 1, 2011

testando interfaces web com splinter

Friday, July 1, 2011

Andrews Medina

#cobrateam founderdjangobrasil.org / python.org.br

desenvolvedor @ globo.com

Friday, July 1, 2011

Francisco Souza

#cobrateam memberdjangobrasil.org

desenvolvedor @ globo.com

Friday, July 1, 2011

Meet the cure.

proprietary software is the disease.

Friday, July 1, 2011

testes?

Friday, July 1, 2011

Friday, July 1, 2011

show me the code

Friday, July 1, 2011

interfaces web?

Friday, July 1, 2011

interfaces x componentes ricos

Friday, July 1, 2011

interfaces

Friday, July 1, 2011

componentes

Friday, July 1, 2011

testando componentes

Friday, July 1, 2011

qunit

Friday, July 1, 2011

qunit

• jquery

Friday, July 1, 2011

qunit

• jquery

• unitário

Friday, July 1, 2011

qunit

• jquery

• unitário

• api feia

Friday, July 1, 2011

qunit

• jquery

• unitário

• api feia

• ruim para testes assíncronos

Friday, July 1, 2011

jasmine

Friday, July 1, 2011

• bdd

jasmine

Friday, July 1, 2011

• bdd

• api bonita

jasmine

Friday, July 1, 2011

• bdd

• api bonita

• inspirado no rspec

jasmine

Friday, July 1, 2011

• bdd

• api bonita

• inspirado no rspec

• baseado em tópicos

jasmine

Friday, July 1, 2011

• bdd

• api bonita

• inspirado no rspec

• baseado em tópicos

• bom para testes assíncronos

jasmine

Friday, July 1, 2011

qunit x jasmine

Friday, July 1, 2011

jasmine-splinter-runner

Friday, July 1, 2011

Friday, July 1, 2011

show me the code

Friday, July 1, 2011

testando interfaces

Friday, July 1, 2011

ferramentas

Friday, July 1, 2011

selenium 1.0

Friday, July 1, 2011

• lento

selenium 1.0

Friday, July 1, 2011

• lento

• necessita de server

selenium 1.0

Friday, July 1, 2011

• lento

• necessita de server

• obsoleto

selenium 1.0

Friday, July 1, 2011

• lento

• necessita de server

• obsoleto

• sintaxe ruim (java)

selenium 1.0

Friday, July 1, 2011

• lento

• necessita de server

• obsoleto

• sintaxe ruim (java)

• funcionalidades legais

selenium 1.0

Friday, July 1, 2011

pyccuracy

Friday, July 1, 2011

• linguagem natural

pyccuracy

Friday, July 1, 2011

• linguagem natural

• sintaxe complexa

pyccuracy

Friday, July 1, 2011

• linguagem natural

• sintaxe complexa

• difícil de manter

pyccuracy

Friday, July 1, 2011

• linguagem natural

• sintaxe complexa

• difícil de manter

• baseaado no selenium 1

pyccuracy

Friday, July 1, 2011

selenium 2.0

Friday, July 1, 2011

• vários browsers (firefox, ie, chrome)

selenium 2.0

Friday, July 1, 2011

• vários browsers (firefox, ie, chrome)

• instável

selenium 2.0

Friday, July 1, 2011

• vários browsers (firefox, ie, chrome)

• instável

• diferença entre browsers (api)

selenium 2.0

Friday, July 1, 2011

• vários browsers (firefox, ie, chrome)

• instável

• diferença entre browsers (api)

• menos features que o selenium 1

selenium 2.0

Friday, July 1, 2011

zope testbrowser

Friday, July 1, 2011

• rápido

zope testbrowser

Friday, July 1, 2011

• rápido

• headless

zope testbrowser

Friday, July 1, 2011

• rápido

• headless

• não renderiza js

zope testbrowser

Friday, July 1, 2011

• rápido

• headless

• não renderiza js

• api estável

zope testbrowser

Friday, July 1, 2011

• rápido

• headless

• não renderiza js

• api estável

• trata formulários de forma ‘especial’

zope testbrowser

Friday, July 1, 2011

htmlunit

Friday, July 1, 2011

• rápido

htmlunit

Friday, July 1, 2011

• rápido

• headless

htmlunit

Friday, July 1, 2011

• rápido

• headless

• suporta js

htmlunit

Friday, July 1, 2011

• rápido

• headless

• suporta js

• java :(

htmlunit

Friday, July 1, 2011

zombie.js

Friday, July 1, 2011

• rápido

zombie.js

Friday, July 1, 2011

• rápido

• headless

zombie.js

Friday, July 1, 2011

• rápido

• headless

• node.js

zombie.js

Friday, July 1, 2011

• rápido

• headless

• node.js

• instável

zombie.js

Friday, July 1, 2011

e mais...

• Mechanize

• PhantomJS

• twill

• Windmill

Friday, July 1, 2011

splintersplinter.cobrateam.info

Friday, July 1, 2011

splinter é uma API

Friday, July 1, 2011

browser = Browser(‘webdriver.firefox’)browser.visit(‘http://cobrateam.info’)assert browser.is_text_present(‘Projects’)

browser = Browser(‘zope.testbrowser’)browser.visit(‘http://cobrateam.info’)assert browser.is_text_present(‘Projects’)

browser = Browser(‘phantomjs’)browser.visit(‘http://cobrateam.info’)assert browser.is_text_present(‘Projects’)

Friday, July 1, 2011

browser

Friday, July 1, 2011

browser

• visit(‘url’)

Friday, July 1, 2011

browser

• visit(‘url’)

• reload()

Friday, July 1, 2011

browser

• visit(‘url’)

• reload()

• quit()

Friday, July 1, 2011

browser

• visit(‘url’)

• reload()

• quit()

• html

Friday, July 1, 2011

browser

• visit(‘url’)

• reload()

• quit()

• html

• url

Friday, July 1, 2011

browser

• visit(‘url’)

• reload()

• quit()

• html

• url

• title

Friday, July 1, 2011

procurando por elementos

Friday, July 1, 2011

procurando por elementos

• find_by_css(‘.classe’)

Friday, July 1, 2011

procurando por elementos

• find_by_css(‘.classe’)

• find_by_id(‘meuid’)

Friday, July 1, 2011

procurando por elementos

• find_by_css(‘.classe’)

• find_by_id(‘meuid’)

• find_by_xpath(‘//body’)

Friday, July 1, 2011

procurando por elementos

• find_by_css(‘.classe’)

• find_by_id(‘meuid’)

• find_by_xpath(‘//body’)

• find_by_tag(‘a’)

Friday, July 1, 2011

procurando por elementos

• find_by_css(‘.classe’)

• find_by_id(‘meuid’)

• find_by_xpath(‘//body’)

• find_by_tag(‘a’)

• find_by_name(‘search’)

Friday, July 1, 2011

formulários

Friday, July 1, 2011

formulários

• fill(‘name’, ‘value’)

Friday, July 1, 2011

formulários

• fill(‘name’, ‘value’)

• attach_file(‘name’, ‘/path/to/file.txt’)

Friday, July 1, 2011

formulários

• fill(‘name’, ‘value’)

• attach_file(‘name’, ‘/path/to/file.txt’)

• check(‘name’) #checkbox

Friday, July 1, 2011

formulários

• fill(‘name’, ‘value’)

• attach_file(‘name’, ‘/path/to/file.txt’)

• check(‘name’) #checkbox

• choose(‘name’, ‘value’) #radio button

Friday, July 1, 2011

formulários

• fill(‘name’, ‘value’)

• attach_file(‘name’, ‘/path/to/file.txt’)

• check(‘name’) #checkbox

• choose(‘name’, ‘value’) #radio button

• select(‘name’, ‘option’)

Friday, July 1, 2011

e mais...

Friday, July 1, 2011

e mais...

• alert

Friday, July 1, 2011

e mais...

• alert

• iframe

Friday, July 1, 2011

e mais...

• alert

• iframe

• status_code

Friday, July 1, 2011

Friday, July 1, 2011

show me the code

Friday, July 1, 2011

futuro do projeto

Friday, July 1, 2011

futuro do projeto• mais browsers/drivers

Friday, July 1, 2011

futuro do projeto• mais browsers/drivers

• ie

Friday, July 1, 2011

futuro do projeto• mais browsers/drivers

• ie

• zombie.js

Friday, July 1, 2011

futuro do projeto• mais browsers/drivers

• ie

• zombie.js

• webkit

Friday, July 1, 2011

futuro do projeto• mais browsers/drivers

• ie

• zombie.js

• webkit

• mouse events

Friday, July 1, 2011

futuro do projeto• mais browsers/drivers

• ie

• zombie.js

• webkit

• mouse events

• cookies

Friday, July 1, 2011

como contribuir

Friday, July 1, 2011

como contribuir

• #cobrateam @ irc.freenode.net

Friday, July 1, 2011

como contribuir

• #cobrateam @ irc.freenode.net

• fork

Friday, July 1, 2011

como contribuir

• #cobrateam @ irc.freenode.net

• fork

• pull request

Friday, July 1, 2011

sprint durante o fisl

Friday, July 1, 2011

sprint durante o fisl

ainda da tempo!

Friday, July 1, 2011

como trazer sua banda favorita para o

Friday, July 1, 2011

perguntas?

Andrews Medinaandrewsmedina.com @andrewsmedinaandrewsmedina@gmail.com

Francisco Souzafranciscosouza.com

@franciscosouzafrancisco@franciscosouza.net

splinter.cobrateam.infogithub.com/cobrateam/splinter

Friday, July 1, 2011

top related