Selenium and Sauce Labs

7,004 views
6,682 views

Published on

An overview of Selenium, including Selenium IDE, Selenium RC, Selenium Grid, and Sauce OnDemand (A cloud-hosted Selenium test infrastructure service). Also covers an overview of upcoming features in Selenium 2, and how to best use Selenium: use of the Page Object patter, and how to use with continuous integration.

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

No Downloads
Views
Total views
7,004
On SlideShare
0
From Embeds
0
Number of Embeds
23
Actions
Shares
0
Downloads
160
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Selenium and Sauce Labs

  1. 1. Selenium and Sauce Labs Jason Huggins twitter: @hugs email: hugs@saucelabs.com
  2. 2. Agenda • Overview of Selenium • Selenium IDE, RC, Grid • Sauce Labs and Sauce OnDemand • Demo • Selenium IDE, Sauce OnDemand • Tips and Tricks • Selenium 2 • Q&A
  3. 3. The Problem
  4. 4. Automated Source: - F.O.X.: http://www.flickr.com/photos/kv/499219/
  5. 5. Ajax
  6. 6. Workflows
  7. 7. What is Selenium?
  8. 8. Selenium IDE for Firefox
  9. 9. “Selenese”
  10. 10. 10 !"#$%"&'$(%)$* +%%,-..///01*234)03$#.,+$%$5.23"6$(".789:;8<=:
  11. 11. Example Selenium RC Test - Java
  12. 12. Example Selenium RC Test - C#
  13. 13. Python, Ruby, Java, C#, or Perl Test Script HTTP Your Awesome Web App Selenium RC Server HTTP HTTP Selenium Remote Control
  14. 14. Time Servers Unit of Work
  15. 15. Time Servers Unit of Work
  16. 16. !"#$ %&&'())***+,-#./"+.01)'%0&02)$345)678 Selenium Grid
  17. 17. Sauce Labs
  18. 18. What Sauce Labs Does • Cloud-hosted Selenium for: • Speed—run tests in parallel • Pain-free infrastructure (test infrastructure is notoriously fussy, fiddly due to accelerating Browser numbers and version pace, security patches etc.) • Higher availability, repeatability • Value-added (enhanced, certified) distros: • Sauce RC (Selenium RC (remote control)) • Sauce IDE (Selenium IDE) • Commercial Support for Selenium
  19. 19. !"#$ %&&'())***+,-#./"+.01)'%0&02)$345)678 Sauce OnDemand (just like Grid)
  20. 20. Demo!
  21. 21. How to Avoid Selenium Poisoning
  22. 22. Intent Action
  23. 23. Action • open 'www.example.com' • clickAndWait 'link=Log in' • type 'User Id', 'hugs@saucelabs.com' • type 'password', '12345678' • clickAndWait 'Log In'
  24. 24. Intent • Log in • Change password • Modify profile • Log out
  25. 25. 1.Write intent. 2. Map to actions.
  26. 26. Seek higher level abstractions
  27. 27. Hudson Ant/NAnt xUnit Selenium
  28. 28. Hudson Ant/NAnt xUnit Business Specific Library Selenium
  29. 29. Page Object Model
  30. 30. Google:“Selenium Page Objects”
  31. 31. Start small
  32. 32. It’ll get big anyway
  33. 33. What to start with? • Smoke tests • “Money path” • New features
  34. 34. Benefits of Short Tests • Easier to read • Easier to write • Easier to debug/maintain • Easier to parallelize
  35. 35. Selenium 2?
  36. 36. • Native Keyboard & Mouse Events • Same Origin Policy / XSS / HTTP(S) • Pop-ups, dialogs – Basic Authentication – Self-signed certificates – File upload/download Better Control
  37. 37. • WebDriver Object • WebElement Objects Cleaner API
  38. 38. Python, Ruby, Java, C#, or Perl Test Script HTTP Your Awesome Web App Selenium RC Server HTTP HTTP Selenium Remote Control
  39. 39. Python, Ruby, Java, C#, or Perl Test Script HTTP Your Awesome Web App Selenium RC Server HTTP HTTP Selenium 2
  40. 40. Python, Ruby, Java, C#, or Perl Test Script Your Awesome Web App HTTP HTTP
  41. 41. Python, Ruby, Java, C#, or Perl Test Script Your Awesome Web App C/C++ HTTP
  42. 42. But... Java... Is... Still... In...There... Python, Ruby, Java, C#, or Perl Test Script HTTP Your Awesome Web App Selenium Grid HTTP HTTP
  43. 43. But... Java... Is... Still... In...There... Python, Ruby, Java, C#, or Perl Test Script HTTP Selenium Remote Server HTTP HTTP Ye Ol' Internet (Sauce Labs) ... but now only when you need it.
  44. 44. Q&A

×