Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Testes de aceitação com Steak e Capybara

1,813 views

Published on

Lab Zigotto em 17 de Dezembro de 2010

Published in: Technology

Testes de aceitação com Steak e Capybara

  1. 1. Testes de aceitação com Steak e Capybara por Jésus Lopes @jtadeulopessexta-feira, 17 de dezembro de 2010
  2. 2. sexta-feira, 17 de dezembro de 2010
  3. 3. sexta-feira, 17 de dezembro de 2010
  4. 4. sexta-feira, 17 de dezembro de 2010
  5. 5. sexta-feira, 17 de dezembro de 2010
  6. 6. sexta-feira, 17 de dezembro de 2010
  7. 7. sexta-feira, 17 de dezembro de 2010
  8. 8. sexta-feira, 17 de dezembro de 2010
  9. 9. sexta-feira, 17 de dezembro de 2010
  10. 10. sexta-feira, 17 de dezembro de 2010
  11. 11. sexta-feira, 17 de dezembro de 2010
  12. 12. sexta-feira, 17 de dezembro de 2010
  13. 13. sexta-feira, 17 de dezembro de 2010
  14. 14. sexta-feira, 17 de dezembro de 2010
  15. 15. sexta-feira, 17 de dezembro de 2010
  16. 16. sexta-feira, 17 de dezembro de 2010
  17. 17. Sucesso!sexta-feira, 17 de dezembro de 2010
  18. 18. sexta-feira, 17 de dezembro de 2010
  19. 19. sexta-feira, 17 de dezembro de 2010
  20. 20. sexta-feira, 17 de dezembro de 2010
  21. 21. sexta-feira, 17 de dezembro de 2010
  22. 22. sexta-feira, 17 de dezembro de 2010
  23. 23. sexta-feira, 17 de dezembro de 2010
  24. 24. sexta-feira, 17 de dezembro de 2010
  25. 25. sexta-feira, 17 de dezembro de 2010
  26. 26. Testes de aceitaçãosexta-feira, 17 de dezembro de 2010
  27. 27. Automatizar os testes de aceitação!sexta-feira, 17 de dezembro de 2010
  28. 28. O que é teste de aceitação?sexta-feira, 17 de dezembro de 2010
  29. 29. Testes do cliente!sexta-feira, 17 de dezembro de 2010
  30. 30. Por que?sexta-feira, 17 de dezembro de 2010
  31. 31. Por que? Mais valioso de todossexta-feira, 17 de dezembro de 2010
  32. 32. Por que? Mais valioso de todos Começa com a interfacesexta-feira, 17 de dezembro de 2010
  33. 33. Por que? Mais valioso de todos Começa com a interface Ajuda a pensar na funcionalidade e aplicar somente o necessáriosexta-feira, 17 de dezembro de 2010
  34. 34. Mas eu faço isso!sexta-feira, 17 de dezembro de 2010
  35. 35. Mas eu faço isso!sexta-feira, 17 de dezembro de 2010
  36. 36. Mas eu faço isso!sexta-feira, 17 de dezembro de 2010
  37. 37. Errado!sexta-feira, 17 de dezembro de 2010
  38. 38. Então, como automatizar este tipo de teste?sexta-feira, 17 de dezembro de 2010
  39. 39. Steak “Minimalist acceptance testing on top of RSpec”sexta-feira, 17 de dezembro de 2010
  40. 40. Exemplo: 1º Descrever o comportamento em Ruby purosexta-feira, 17 de dezembro de 2010
  41. 41. 1 feature "Produtos", %q{ 2 A fim de ter um site com produtos 3 Como administrador 4 Eu quero gerenciar meus produtos 5 } do 6 7 scenario "Visualizando produtos na home" do 8 9 Product.create!(:name => Sapato) 10 Product.create!(:name => Mochila) 11 12 visit / 13 14 page.should have_content(Sapato) 15 page.should have_content(Mochila) 16 17 end 18 19 endsexta-feira, 17 de dezembro de 2010
  42. 42. Pronto!sexta-feira, 17 de dezembro de 2010
  43. 43. Pronto! Basta seguir com o desenvolvimento...sexta-feira, 17 de dezembro de 2010
  44. 44. Pronto! Basta seguir com o desenvolvimento... 2º Rodar os testes e ver falhandosexta-feira, 17 de dezembro de 2010
  45. 45. Pronto! Basta seguir com o desenvolvimento... 2º Rodar os testes e ver falhando 3º Escrever o código necessário para o teste passarsexta-feira, 17 de dezembro de 2010
  46. 46. Pronto! Basta seguir com o desenvolvimento... 2º Rodar os testes e ver falhando 3º Escrever o código necessário para o teste passar 4º Rodar os testes novamente...sexta-feira, 17 de dezembro de 2010
  47. 47. Capybara “DSL for interacting with a web application”sexta-feira, 17 de dezembro de 2010
  48. 48. visit /sexta-feira, 17 de dezembro de 2010
  49. 49. click_link Productssexta-feira, 17 de dezembro de 2010
  50. 50. click_button Savesexta-feira, 17 de dezembro de 2010
  51. 51. Formuláriossexta-feira, 17 de dezembro de 2010
  52. 52. Formulários fill_in First Name, :with => Jésussexta-feira, 17 de dezembro de 2010
  53. 53. Formulários fill_in First Name, :with => Jésus choose A Radio Buttonsexta-feira, 17 de dezembro de 2010
  54. 54. Formulários fill_in First Name, :with => Jésus choose A Radio Button check A Checkboxsexta-feira, 17 de dezembro de 2010
  55. 55. Formulários fill_in First Name, :with => Jésus choose A Radio Button check A Checkbox uncheck A Checkboxsexta-feira, 17 de dezembro de 2010
  56. 56. Formulários fill_in First Name, :with => Jésus choose A Radio Button check A Checkbox uncheck A Checkbox attach_file Image, /path/to/image.jpgsexta-feira, 17 de dezembro de 2010
  57. 57. Formulários fill_in First Name, :with => Jésus choose A Radio Button check A Checkbox uncheck A Checkbox attach_file Image, /path/to/image.jpg select Option, :from => Select Boxsexta-feira, 17 de dezembro de 2010
  58. 58. Mais exemplos!sexta-feira, 17 de dezembro de 2010
  59. 59. sexta-feira, 17 de dezembro de 2010
  60. 60. sexta-feira, 17 de dezembro de 2010
  61. 61. sexta-feira, 17 de dezembro de 2010
  62. 62. sexta-feira, 17 de dezembro de 2010
  63. 63. sexta-feira, 17 de dezembro de 2010
  64. 64. sexta-feira, 17 de dezembro de 2010
  65. 65. sexta-feira, 17 de dezembro de 2010
  66. 66. sexta-feira, 17 de dezembro de 2010
  67. 67. sexta-feira, 17 de dezembro de 2010
  68. 68. 1 feature "Lorem ipsum" do 2 3 scenario "New lorem" do 4 5 visit http://www.domain.com 6 7 click_link Light Button 8 9 fill_in Input, :with => dolore 10 fill_in Text-Field, :with => Lorem ipsum dolor... 11 click_button Dark Button 12 13 page.should have_content dolor sit amet 14 end 15 16 endsexta-feira, 17 de dezembro de 2010
  69. 69. Consultas na páginasexta-feira, 17 de dezembro de 2010
  70. 70. Consultas na página page.has_selector?(table tr)sexta-feira, 17 de dezembro de 2010
  71. 71. Consultas na página page.has_selector?(table tr) page.has_selector?(:xpath, //table/tr)sexta-feira, 17 de dezembro de 2010
  72. 72. Consultas na página page.has_selector?(table tr) page.has_selector?(:xpath, //table/tr) page.has_css?(table tr.foo)sexta-feira, 17 de dezembro de 2010
  73. 73. Encontrar elementossexta-feira, 17 de dezembro de 2010
  74. 74. Encontrar elementos find_field(First Name).valuesexta-feira, 17 de dezembro de 2010
  75. 75. Encontrar elementos find_field(First Name).value find_link(Hello).visible?sexta-feira, 17 de dezembro de 2010
  76. 76. Encontrar elementos find_field(First Name).value find_link(Hello).visible? find_button(Send).clicksexta-feira, 17 de dezembro de 2010
  77. 77. sexta-feira, 17 de dezembro de 2010
  78. 78. sexta-feira, 17 de dezembro de 2010
  79. 79. sexta-feira, 17 de dezembro de 2010
  80. 80. sexta-feira, 17 de dezembro de 2010
  81. 81. 1 feature "Login" do 2 3 scenario "Login como administrador" do 4 5 within("div.admin") do 6 fill_in LOGIN, :with => user 7 fill_in SENHA, :with => senha123 8 click_button Light Button 9 end 10 11 end 12 13 scenario "Login como aluno" do 14 15 within("div.student") do 16 fill_in E-MAIL, :with => user@user.com 17 fill_in SENHA, :with => senha123 18 click_button Light Button 19 end 20 21 end 22 23 endsexta-feira, 17 de dezembro de 2010
  82. 82. Live coding!sexta-feira, 17 de dezembro de 2010
  83. 83. Obrigado!sexta-feira, 17 de dezembro de 2010
  84. 84. Fontes • https://github.com/cavalle/steak • https://github.com/jnicklas/capybara • http://jeffkreeftmeijer.com/2010/steak-because-cucumber-is-for-vegetarians • http://www.slideshare.net/danielvlopes/steak-4939188 • http://www.dtsato.com/blog/2007/09/24/voce-automatiza-seus-testes-de-aceitacao • http://www.extremeprogramming.org/rules/functionaltests.html • Storyboard characters - http://www.graffletopia.com/stencils/462 • http://www.eleqtriq.com/2010/08/sqetch-wireframe-toolkit/sexta-feira, 17 de dezembro de 2010

×