0
como trazer sua banda         favorita para oFriday, July 1, 2011
ou...Friday, July 1, 2011
testando interfaces                       web com splinterFriday, July 1, 2011
Andrews Medina                            #cobrateam founder                       djangobrasil.org / python.org.br       ...
Francisco Souza                           #cobrateam member                             djangobrasil.org                  ...
proprietary software is the disease.                       Meet the cure.Friday, July 1, 2011
testes?Friday, July 1, 2011
Friday, July 1, 2011
show me the codeFriday, July 1, 2011
interfaces web?Friday, July 1, 2011
interfaces x                       componentes ricosFriday, July 1, 2011
interfacesFriday, July 1, 2011
componentesFriday, July 1, 2011
testando                       componentesFriday, July 1, 2011
qunitFriday, July 1, 2011
qunit                       • jqueryFriday, July 1, 2011
qunit                       • jquery                       • unitárioFriday, July 1, 2011
qunit                       • jquery                       • unitário                       • api feiaFriday, July 1, 2011
qunit                       • jquery                       • unitário                       • api feia                    ...
jasmineFriday, July 1, 2011
jasmine                       • bddFriday, July 1, 2011
jasmine                       • bdd                       • api bonitaFriday, July 1, 2011
jasmine                       • bdd                       • api bonita                       • inspirado no rspecFriday, J...
jasmine                       • bdd                       • api bonita                       • inspirado no rspec         ...
jasmine                       • bdd                       • api bonita                       • inspirado no rspec         ...
qunit x jasmineFriday, July 1, 2011
jasmine-splinter-runnerFriday, July 1, 2011
Friday, July 1, 2011
show me the codeFriday, July 1, 2011
testando interfacesFriday, July 1, 2011
ferramentasFriday, July 1, 2011
selenium 1.0Friday, July 1, 2011
selenium 1.0                       • lentoFriday, July 1, 2011
selenium 1.0                       • lento                       • necessita de serverFriday, July 1, 2011
selenium 1.0                       • lento                       • necessita de server                       • obsoletoFri...
selenium 1.0                       • lento                       • necessita de server                       • obsoleto   ...
selenium 1.0                       • lento                       • necessita de server                       • obsoleto   ...
pyccuracyFriday, July 1, 2011
pyccuracy                       • linguagem naturalFriday, July 1, 2011
pyccuracy                       • linguagem natural                       • sintaxe complexaFriday, July 1, 2011
pyccuracy                       • linguagem natural                       • sintaxe complexa                       • difíc...
pyccuracy                       • linguagem natural                       • sintaxe complexa                       • difíc...
selenium 2.0Friday, July 1, 2011
selenium 2.0                       • vários browsers (firefox, ie, chrome)Friday, July 1, 2011
selenium 2.0                       • vários browsers (firefox, ie, chrome)                       • instávelFriday, July 1, ...
selenium 2.0                       • vários browsers (firefox, ie, chrome)                       • instável                ...
selenium 2.0                       • vários browsers (firefox, ie, chrome)                       • instável                ...
zope testbrowserFriday, July 1, 2011
zope testbrowser                       • rápidoFriday, July 1, 2011
zope testbrowser                       • rápido                       • headlessFriday, July 1, 2011
zope testbrowser                       • rápido                       • headless                       • não renderiza jsF...
zope testbrowser                       • rápido                       • headless                       • não renderiza js ...
zope testbrowser                       • rápido                       • headless                       • não renderiza js ...
htmlunitFriday, July 1, 2011
htmlunit                       • rápidoFriday, July 1, 2011
htmlunit                       • rápido                       • headlessFriday, July 1, 2011
htmlunit                       • rápido                       • headless                       • suporta jsFriday, July 1,...
htmlunit                       • rápido                       • headless                       • suporta js               ...
zombie.jsFriday, July 1, 2011
zombie.js                       • rápidoFriday, July 1, 2011
zombie.js                       • rápido                       • headlessFriday, July 1, 2011
zombie.js                       • rápido                       • headless                       • node.jsFriday, July 1, 2...
zombie.js                       • rápido                       • headless                       • node.js                 ...
e mais...                       • Mechanize                       • PhantomJS                       • twill               ...
splinter                       splinter.cobrateam.infoFriday, July 1, 2011
splinter é uma APIFriday, July 1, 2011
browser = Browser(‘webdriver.firefox’)        browser.visit(‘http://cobrateam.info’)        assert browser.is_text_present...
browserFriday, 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...
browser                       • visit(‘url’)                       • reload()                       • quit()              ...
browser                       • visit(‘url’)                       • reload()                       • quit()              ...
browser                       • visit(‘url’)                       • reload()                       • quit()              ...
procurando por                         elementosFriday, July 1, 2011
procurando por                            elementos                       • find_by_css(‘.classe’)Friday, July 1, 2011
procurando por                            elementos                       • find_by_css(‘.classe’)                       • ...
procurando por                            elementos                       • find_by_css(‘.classe’)                       • ...
procurando por                            elementos                       • find_by_css(‘.classe’)                       • ...
procurando por                            elementos                       • find_by_css(‘.classe’)                       • ...
formuláriosFriday, July 1, 2011
formulários                       • fill(‘name’, ‘value’)Friday, July 1, 2011
formulários                       • fill(‘name’, ‘value’)                       • attach_file(‘name’, ‘/path/to/file.txt’)Fri...
formulários                       • fill(‘name’, ‘value’)                       • attach_file(‘name’, ‘/path/to/file.txt’)   ...
formulários                       • fill(‘name’, ‘value’)                       • attach_file(‘name’, ‘/path/to/file.txt’)   ...
formulários                       • fill(‘name’, ‘value’)                       • attach_file(‘name’, ‘/path/to/file.txt’)   ...
e mais...Friday, July 1, 2011
e mais...                       • alertFriday, July 1, 2011
e mais...                       • alert                       • iframeFriday, July 1, 2011
e mais...                       • alert                       • iframe                       • status_codeFriday, July 1, ...
Friday, July 1, 2011
show me the codeFriday, July 1, 2011
futuro do projetoFriday, July 1, 2011
futuro do projeto                       • mais browsers/driversFriday, July 1, 2011
futuro do projeto                       • mais browsers/drivers                        • ieFriday, July 1, 2011
futuro do projeto                       • mais browsers/drivers                        • ie                        • zombi...
futuro do projeto                       • mais browsers/drivers                        • ie                        • zombi...
futuro do projeto                       • mais browsers/drivers                        • ie                        • zombi...
futuro do projeto                       • mais browsers/drivers                        • ie                        • zombi...
como contribuirFriday, July 1, 2011
como contribuir                  • #cobrateam @ irc.freenode.netFriday, July 1, 2011
como contribuir                  • #cobrateam @ irc.freenode.net                  • forkFriday, July 1, 2011
como contribuir                  • #cobrateam @ irc.freenode.net                  • fork                  • pull requestFr...
sprint durante o fislFriday, July 1, 2011
sprint durante o fisl                          ainda da tempo!Friday, July 1, 2011
como trazer sua banda         favorita para oFriday, July 1, 2011
perguntas?                           splinter.cobrateam.info                       github.com/cobrateam/splinter  Andrews ...
Upcoming SlideShare
Loading in...5
×

Testando interfaces web com Splinter

2,230

Published on

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

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,230
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
20
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Transcript of "Testando interfaces web com Splinter"

  1. 1. como trazer sua banda favorita para oFriday, July 1, 2011
  2. 2. ou...Friday, July 1, 2011
  3. 3. testando interfaces web com splinterFriday, July 1, 2011
  4. 4. Andrews Medina #cobrateam founder djangobrasil.org / python.org.br desenvolvedor @ globo.comFriday, July 1, 2011
  5. 5. Francisco Souza #cobrateam member djangobrasil.org desenvolvedor @ globo.comFriday, July 1, 2011
  6. 6. proprietary software is the disease. Meet the cure.Friday, July 1, 2011
  7. 7. testes?Friday, July 1, 2011
  8. 8. Friday, July 1, 2011
  9. 9. show me the codeFriday, July 1, 2011
  10. 10. interfaces web?Friday, July 1, 2011
  11. 11. interfaces x componentes ricosFriday, July 1, 2011
  12. 12. interfacesFriday, July 1, 2011
  13. 13. componentesFriday, July 1, 2011
  14. 14. testando componentesFriday, July 1, 2011
  15. 15. qunitFriday, July 1, 2011
  16. 16. qunit • jqueryFriday, July 1, 2011
  17. 17. qunit • jquery • unitárioFriday, July 1, 2011
  18. 18. qunit • jquery • unitário • api feiaFriday, July 1, 2011
  19. 19. qunit • jquery • unitário • api feia • ruim para testes assíncronosFriday, July 1, 2011
  20. 20. jasmineFriday, July 1, 2011
  21. 21. jasmine • bddFriday, July 1, 2011
  22. 22. jasmine • bdd • api bonitaFriday, July 1, 2011
  23. 23. jasmine • bdd • api bonita • inspirado no rspecFriday, July 1, 2011
  24. 24. jasmine • bdd • api bonita • inspirado no rspec • baseado em tópicosFriday, July 1, 2011
  25. 25. jasmine • bdd • api bonita • inspirado no rspec • baseado em tópicos • bom para testes assíncronosFriday, July 1, 2011
  26. 26. qunit x jasmineFriday, July 1, 2011
  27. 27. jasmine-splinter-runnerFriday, July 1, 2011
  28. 28. Friday, July 1, 2011
  29. 29. show me the codeFriday, July 1, 2011
  30. 30. testando interfacesFriday, July 1, 2011
  31. 31. ferramentasFriday, July 1, 2011
  32. 32. selenium 1.0Friday, July 1, 2011
  33. 33. selenium 1.0 • lentoFriday, July 1, 2011
  34. 34. selenium 1.0 • lento • necessita de serverFriday, July 1, 2011
  35. 35. selenium 1.0 • lento • necessita de server • obsoletoFriday, July 1, 2011
  36. 36. selenium 1.0 • lento • necessita de server • obsoleto • sintaxe ruim (java)Friday, July 1, 2011
  37. 37. selenium 1.0 • lento • necessita de server • obsoleto • sintaxe ruim (java) • funcionalidades legaisFriday, July 1, 2011
  38. 38. pyccuracyFriday, July 1, 2011
  39. 39. pyccuracy • linguagem naturalFriday, July 1, 2011
  40. 40. pyccuracy • linguagem natural • sintaxe complexaFriday, July 1, 2011
  41. 41. pyccuracy • linguagem natural • sintaxe complexa • difícil de manterFriday, July 1, 2011
  42. 42. pyccuracy • linguagem natural • sintaxe complexa • difícil de manter • baseaado no selenium 1Friday, July 1, 2011
  43. 43. selenium 2.0Friday, July 1, 2011
  44. 44. selenium 2.0 • vários browsers (firefox, ie, chrome)Friday, July 1, 2011
  45. 45. selenium 2.0 • vários browsers (firefox, ie, chrome) • instávelFriday, July 1, 2011
  46. 46. selenium 2.0 • vários browsers (firefox, ie, chrome) • instável • diferença entre browsers (api)Friday, July 1, 2011
  47. 47. selenium 2.0 • vários browsers (firefox, ie, chrome) • instável • diferença entre browsers (api) • menos features que o selenium 1Friday, July 1, 2011
  48. 48. zope testbrowserFriday, July 1, 2011
  49. 49. zope testbrowser • rápidoFriday, July 1, 2011
  50. 50. zope testbrowser • rápido • headlessFriday, July 1, 2011
  51. 51. zope testbrowser • rápido • headless • não renderiza jsFriday, July 1, 2011
  52. 52. zope testbrowser • rápido • headless • não renderiza js • api estávelFriday, July 1, 2011
  53. 53. zope testbrowser • rápido • headless • não renderiza js • api estável • trata formulários de forma ‘especial’Friday, July 1, 2011
  54. 54. htmlunitFriday, July 1, 2011
  55. 55. htmlunit • rápidoFriday, July 1, 2011
  56. 56. htmlunit • rápido • headlessFriday, July 1, 2011
  57. 57. htmlunit • rápido • headless • suporta jsFriday, July 1, 2011
  58. 58. htmlunit • rápido • headless • suporta js • java :(Friday, July 1, 2011
  59. 59. zombie.jsFriday, July 1, 2011
  60. 60. zombie.js • rápidoFriday, July 1, 2011
  61. 61. zombie.js • rápido • headlessFriday, July 1, 2011
  62. 62. zombie.js • rápido • headless • node.jsFriday, July 1, 2011
  63. 63. zombie.js • rápido • headless • node.js • instávelFriday, July 1, 2011
  64. 64. e mais... • Mechanize • PhantomJS • twill • WindmillFriday, July 1, 2011
  65. 65. splinter splinter.cobrateam.infoFriday, July 1, 2011
  66. 66. splinter é uma APIFriday, July 1, 2011
  67. 67. 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
  68. 68. browserFriday, July 1, 2011
  69. 69. browser • visit(‘url’)Friday, July 1, 2011
  70. 70. browser • visit(‘url’) • reload()Friday, July 1, 2011
  71. 71. browser • visit(‘url’) • reload() • quit()Friday, July 1, 2011
  72. 72. browser • visit(‘url’) • reload() • quit() • htmlFriday, July 1, 2011
  73. 73. browser • visit(‘url’) • reload() • quit() • html • urlFriday, July 1, 2011
  74. 74. browser • visit(‘url’) • reload() • quit() • html • url • titleFriday, July 1, 2011
  75. 75. procurando por elementosFriday, July 1, 2011
  76. 76. procurando por elementos • find_by_css(‘.classe’)Friday, July 1, 2011
  77. 77. procurando por elementos • find_by_css(‘.classe’) • find_by_id(‘meuid’)Friday, July 1, 2011
  78. 78. procurando por elementos • find_by_css(‘.classe’) • find_by_id(‘meuid’) • find_by_xpath(‘//body’)Friday, July 1, 2011
  79. 79. procurando por elementos • find_by_css(‘.classe’) • find_by_id(‘meuid’) • find_by_xpath(‘//body’) • find_by_tag(‘a’)Friday, July 1, 2011
  80. 80. 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
  81. 81. formuláriosFriday, July 1, 2011
  82. 82. formulários • fill(‘name’, ‘value’)Friday, July 1, 2011
  83. 83. formulários • fill(‘name’, ‘value’) • attach_file(‘name’, ‘/path/to/file.txt’)Friday, July 1, 2011
  84. 84. formulários • fill(‘name’, ‘value’) • attach_file(‘name’, ‘/path/to/file.txt’) • check(‘name’) #checkboxFriday, July 1, 2011
  85. 85. formulários • fill(‘name’, ‘value’) • attach_file(‘name’, ‘/path/to/file.txt’) • check(‘name’) #checkbox • choose(‘name’, ‘value’) #radio buttonFriday, July 1, 2011
  86. 86. 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
  87. 87. e mais...Friday, July 1, 2011
  88. 88. e mais... • alertFriday, July 1, 2011
  89. 89. e mais... • alert • iframeFriday, July 1, 2011
  90. 90. e mais... • alert • iframe • status_codeFriday, July 1, 2011
  91. 91. Friday, July 1, 2011
  92. 92. show me the codeFriday, July 1, 2011
  93. 93. futuro do projetoFriday, July 1, 2011
  94. 94. futuro do projeto • mais browsers/driversFriday, July 1, 2011
  95. 95. futuro do projeto • mais browsers/drivers • ieFriday, July 1, 2011
  96. 96. futuro do projeto • mais browsers/drivers • ie • zombie.jsFriday, July 1, 2011
  97. 97. futuro do projeto • mais browsers/drivers • ie • zombie.js • webkitFriday, July 1, 2011
  98. 98. futuro do projeto • mais browsers/drivers • ie • zombie.js • webkit • mouse eventsFriday, July 1, 2011
  99. 99. futuro do projeto • mais browsers/drivers • ie • zombie.js • webkit • mouse events • cookiesFriday, July 1, 2011
  100. 100. como contribuirFriday, July 1, 2011
  101. 101. como contribuir • #cobrateam @ irc.freenode.netFriday, July 1, 2011
  102. 102. como contribuir • #cobrateam @ irc.freenode.net • forkFriday, July 1, 2011
  103. 103. como contribuir • #cobrateam @ irc.freenode.net • fork • pull requestFriday, July 1, 2011
  104. 104. sprint durante o fislFriday, July 1, 2011
  105. 105. sprint durante o fisl ainda da tempo!Friday, July 1, 2011
  106. 106. como trazer sua banda favorita para oFriday, July 1, 2011
  107. 107. perguntas? splinter.cobrateam.info github.com/cobrateam/splinter Andrews Medina Francisco Souza andrewsmedina.com franciscosouza.com @andrewsmedina @franciscosouza andrewsmedina@gmail.com francisco@franciscosouza.netFriday, July 1, 2011
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×