Testando interfaces web com Splinter

2,421 views

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,421
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
21
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

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

×