Hacking Selenium @ JSConf

  • 2,820 views
Uploaded on

An overview and history of the Selenium web application testing tool, by Selenium's creator Jason Huggins. Presented on April 25, 2009 at JSConf in Arlington, …

An overview and history of the Selenium web application testing tool, by Selenium's creator Jason Huggins. Presented on April 25, 2009 at JSConf in Arlington, Virginia.
http://jsconf2009.com/speakers.html#huggins

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,820
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
134
Comments
0
Likes
8

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. [ Hacking Selenium ] Jason Huggins @jhuggins hugs@saucelabs.com seleniumhq.org | p13y.com JSConf - 25 April 2009
  • 2. 1 - Why Selenium?
  • 3. Browser Wars II 6, 7 & 8 2, 3 3, 4 beta 1.0 9.6 Add-ons Browser configs Languages/locales 3
  • 4. Test Automation Source: - F.O.X.: http://www.flickr.com/photos/kv/499219/
  • 5. Dynamic HTML - Ajax
  • 6. End-to-end Workflows
  • 7. Large tests
  • 8. Any browser - Any platform
  • 9. Selenium Cumulative Downloads 9
  • 10. Firms with: 100+ downloads January – October 2008 10
  • 11. 2 - Why not Selenium ?
  • 12. Speed Source: http://desertpastor.typepad.com/paradoxology/Slow%205.jpg
  • 13. Flash, Java Applets, Silverlight, PDF Source: http://goldberg.berkeley.edu/art/big-images/doi-box-hi-res.jpg
  • 14. Anything outside the JavaScript sandbox Source: http://lug.mtu.edu/wiki/images/2/27/SANDBOX.jpg
  • 15. Small tests
  • 16. 3 - A brief history of Selenium
  • 17. ThoughtWorks Time & Expense Source: - Neal Ford: http://nealford.com/downloads/conferences/2006_nfjs_canonical/Neal_Ford-Testing_with_Selenium-slides.pdf
  • 18. First Attempt - JWebUnit • Simulates the browser • Can’t handle browser-specific bugs • Can’t handle JavaScript in the DOM
  • 19. Second Attempt - DriftWood • Mozilla extension (never published) • Pro: – Drove a real browser, so it could handle JavaScript UI features • Con: – Not for IE or Safari :-( – XML Syntax for tests. Yuck!
  • 20. Third Attempt - JsUnit • Pro: – Can test JavaScript in the browser! – Works in Mozilla/Firefox, IE, and Safari! • Con: – Emphasis on single-page unit test (no page-to-page workflows) – Couldn’t see what it was doing
  • 21. It’s Green, but what did it really work?
  • 22. Fourth Attempt - FIT (part 1) • Pro: – More readable tests – Emphasis on functional testing
  • 23. Example FIT test
  • 24. Fourth Attempt - FIT (part 2) Con: • Wasn’t available for the “JavaScript platform” yet • Limited list of “actions” in the API
  • 25. Action Fixture picture
  • 26. Forking FIT • Selenium initially was an attempt to implement “FIT for web browsers” • Ended up forking: – Wanted to see what the browser was doing – Wanted a richer API
  • 27. 4 - Side Note: What’s with the name?
  • 28. “antidote for mecury poisoning”
  • 29. “results - selenium”
  • 30. Selenium and mercury detox
  • 31. 5 - Selenium Core
  • 32. Selenium Core (TestRunner)
  • 33. 6 - Selenium IDE
  • 34. Selenium IDE for Firefox
  • 35. 7 - Selenium Remote Control
  • 36. Selenium Remote Control Source: - http://www.dkimages.com/discover/previews/824/5100491.JPG
  • 37. Selenium Remote Control
  • 38. 8 - Selenium Grid
  • 39. Selenium Grid Which is faster? (1 server, sequential tasks) 4 3 Servers 2 1 Time Source: - http://factoryjoe.com/blog/wp-content/uploads/2006/10/pods.jpg
  • 40. Which is faster? (4 servers, parallel tasks) 4 3 Servers 2 1 Time 40
  • 41. p13y.com Source: - http://www.flickr.com/photos/onetreehillstudios/2958752337/