Your SlideShare is downloading. ×
0
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
You're doing it wrong
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

You're doing it wrong

4,079

Published on

Selenium anti-patterns and how to start to address them.

Selenium anti-patterns and how to start to address them.

0 Comments
11 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,079
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
158
Comments
0
Likes
11
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Selenium (You’re doing it wrong) Adam Goucher adam@element34.ca @adamgoucherThursday, April 7, 2011
  • 2. GeneralThursday, April 7, 2011
  • 3. Thursday, April 7, 2011
  • 4. I call my automation ‘tests’Thursday, April 7, 2011
  • 5. I call my automation ‘tests’ I call my automation ‘scripts’ or ‘checks’Thursday, April 7, 2011
  • 6. Thursday, April 7, 2011
  • 7. My goal is to replace humans and push to production fasterThursday, April 7, 2011
  • 8. My goal is to replace humans and push to production faster My goal is to let humans test higher quality builds with greater efficiencyThursday, April 7, 2011
  • 9. Se-IDEThursday, April 7, 2011
  • 10. Thursday, April 7, 2011
  • 11. I save my scripts recorded in Se-IDEThursday, April 7, 2011
  • 12. I save my scripts recorded in Se-IDE I export my scripts recorded in Se-IDEThursday, April 7, 2011
  • 13. Thursday, April 7, 2011
  • 14. I have locators in my scriptsThursday, April 7, 2011
  • 15. I have locators in my scripts I have my locators in a user-extensionThursday, April 7, 2011
  • 16. Thursday, April 7, 2011
  • 17. I use the default formatterThursday, April 7, 2011
  • 18. I use the default formatter I use a custom formatterThursday, April 7, 2011
  • 19. Thursday, April 7, 2011
  • 20. I email updates to formats and extensionsThursday, April 7, 2011
  • 21. I email updates to formats and extensions I use a site-specific pluginThursday, April 7, 2011
  • 22. Se-RCThursday, April 7, 2011
  • 23. Thursday, April 7, 2011
  • 24. My application is written in X so my scripts must be as wellThursday, April 7, 2011
  • 25. My application is written in X so my scripts must be as well I write scripts the language that makes the most senseThursday, April 7, 2011
  • 26. Thursday, April 7, 2011
  • 27. I inherit from my framework’s TestCase classThursday, April 7, 2011
  • 28. I inherit from my framework’s TestCase class I have a custom class that my scripts inherit from (-- it inherits from my framework’s TestCase class)Thursday, April 7, 2011
  • 29. Thursday, April 7, 2011
  • 30. I have locators in my scriptsThursday, April 7, 2011
  • 31. I have locators in my scripts I have my locators in a shared <thing>Thursday, April 7, 2011
  • 32. Thursday, April 7, 2011
  • 33. I use ‘brittle’ locatorsThursday, April 7, 2011
  • 34. I use ‘brittle’ locators I use good structural locatorsThursday, April 7, 2011
  • 35. Thursday, April 7, 2011
  • 36. I have static data in my scriptsThursday, April 7, 2011
  • 37. I have static data in my scripts I feed data externally into my scriptsThursday, April 7, 2011
  • 38. Thursday, April 7, 2011
  • 39. Describing my scripts I use the word ‘and’Thursday, April 7, 2011
  • 40. Describing my scripts I use the word ‘and’ Individual scripts do one thing onlyThursday, April 7, 2011
  • 41. Thursday, April 7, 2011
  • 42. I use a ‘procedural’ scripting styleThursday, April 7, 2011
  • 43. I use a ‘procedural’ scripting style Page Objects FTW!Thursday, April 7, 2011
  • 44. Thursday, April 7, 2011
  • 45. I build suites of scriptsThursday, April 7, 2011
  • 46. I build suites of scripts I ‘tag’ my scripts and use my framework’s discovery methodsThursday, April 7, 2011
  • 47. Thursday, April 7, 2011
  • 48. My automation is different than the production codeThursday, April 7, 2011
  • 49. My automation is different than the production code No. Its not.Thursday, April 7, 2011
  • 50. Thursday, April 7, 2011
  • 51. I run my scripts from my local machineThursday, April 7, 2011
  • 52. I run my scripts from my local machine The CI server is my environment of recordThursday, April 7, 2011
  • 53. Se-GridThursday, April 7, 2011
  • 54. Thursday, April 7, 2011
  • 55. I use Se-Grid for cross browser distributionThursday, April 7, 2011
  • 56. I use Se-Grid for cross browser distribution I have browser specific jobs in CIThursday, April 7, 2011
  • 57. Thursday, April 7, 2011
  • 58. I have my own Se-GridThursday, April 7, 2011
  • 59. I have my own Se-Grid To the Cloud!Thursday, April 7, 2011
  • 60. And finally...Thursday, April 7, 2011
  • 61. Thursday, April 7, 2011
  • 62. I will blindly implement what Adam saysThursday, April 7, 2011
  • 63. I will blindly implement what Adam says I will use my brain and use what works for me and ignore what doesn’tThursday, April 7, 2011
  • 64. Thanks!Thursday, April 7, 2011

×