Your SlideShare is downloading. ×
0
SELENIUM
Speakers

    Aaron Tinio
    • atinio@g2ix.com


    Bernard Lago
    • blago@g2ix.com
Goals

• To be able to consider implementation of automated testing
• To jumpstart Selenium usage
Pre-requisites

• HTML
• Javascript
• Ruby or other scripting/programming language
Selenium 101

    Selenium Introduction

    Selenium IDE Basics

    Selenium RC Basics

    Selenium GRID Demo
SELENIUM INTRODUCTION
Selenium Introduction

    Why choose Selenium?

    Types of Functional Test Tools for Web Apps

    “Flavors” of Sele...
Why choose Selenium?

    Open source

    Backed by Industry Players

    Stable and Well Tested

    Platform-indepe...
Types of Functional Test Tools

    Use of a simulated browser: HttpUnit, HtmlUnit & WebTest

    Use of a real browser:...
Flavors of Selenium

    Selenium Core

    Selenium IDE

    Selenium RC (and Selenium Grid)
SELENIUM IDE
Selenium IDE

    Installation, overview and usage

    Locators

    Actions, Accessors, Assertions

    Patterns
Locators

    id
    • id=gbar


    name
    • name=q


    dom
    • dom=document.links[0]


    xpath
    • xpath=/...
Actions

    open(url)

    click(locator)

    type(locator, value)

    select(locator, optionLocator)
Accessors

• storeText(locator, variableName)
• from getText(locator) command

• storeLocation(variableName)
• from getLoc...
Assertions

• assertText(locator, pattern)
 • from getText(locator) command

• assertLocation(pattern)
 • from getLocation...
Patterns

    exact
    • exact:Google.com in English


    glob
    • glob:*in English


    regexp
    • regexp:Go+gl...
SELENIUM REMOTE CONTROL
Selenium Remote Control

    Selenium RC Architecture

    Selenium RC Server

    Selenium RC Ruby Client Driver

   ...
Selenium RC Architecture
Selenium Server: Interactive Mode

     is a way of rapidly prototyping tests.

     requires no coding whatsoever.

  ...
Selenium RC (Ruby Client Driver)
• requires ruby
• requires rubygems
• requires selenium-client gem
• gem install selenium...
Testing Frameworks (Ruby)
• Test-Driven Development (TDD)
• Test::Unit

• Behaviour-Driven Development (BDD)
• Rspec

• TD...
Interactive Ruby Shell
• is a shell for programming in the Ruby language
• allows the programmer to experiment with codes
Writing tests (Ruby / Test::Unit)

     Require the following in the test script
    • 'rubygems'
    • 'selenium/client'...
Writing tests (Example)
SELENIUM GRID
Selenium Grid
• Selenium Grid Architecture
• Selenium Grid Demo
Selenium Grid Architecture
Selenium Grid Demo
• Running scripts on multiple machines using different
  browsers
• Sample Environment Configurations
•...
QUESTIONS ???
REFERENCES
References
• http://seleniumhq.org/projects/ide/
• http://seleniumhq.org/projects/core/
• http://seleniumhq.org/projects/r...
Maestrodev
• www.maestrodev.com
• Forums
• Downloads
• Announcements
Thank you!!!
Upcoming SlideShare
Loading in...5
×

Selenium

6,002

Published on

Automated testing using Selenium

Published in: Education, Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,002
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
245
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Selenium"

  1. 1. SELENIUM
  2. 2. Speakers  Aaron Tinio • atinio@g2ix.com  Bernard Lago • blago@g2ix.com
  3. 3. Goals • To be able to consider implementation of automated testing • To jumpstart Selenium usage
  4. 4. Pre-requisites • HTML • Javascript • Ruby or other scripting/programming language
  5. 5. Selenium 101  Selenium Introduction  Selenium IDE Basics  Selenium RC Basics  Selenium GRID Demo
  6. 6. SELENIUM INTRODUCTION
  7. 7. Selenium Introduction  Why choose Selenium?  Types of Functional Test Tools for Web Apps  “Flavors” of Selenium  Selenium IDE Basics
  8. 8. Why choose Selenium?  Open source  Backed by Industry Players  Stable and Well Tested  Platform-independent  Uses a real browser  Allows you to use your favorite programming language
  9. 9. Types of Functional Test Tools  Use of a simulated browser: HttpUnit, HtmlUnit & WebTest  Use of a real browser: Selenium, Watir (and FireWatir and SafariWatir)
  10. 10. Flavors of Selenium  Selenium Core  Selenium IDE  Selenium RC (and Selenium Grid)
  11. 11. SELENIUM IDE
  12. 12. Selenium IDE  Installation, overview and usage  Locators  Actions, Accessors, Assertions  Patterns
  13. 13. Locators  id • id=gbar  name • name=q  dom • dom=document.links[0]  xpath • xpath=//html/body/center/form/table/tbody/tr/td[2]/input[2]  link • link=English
  14. 14. Actions  open(url)  click(locator)  type(locator, value)  select(locator, optionLocator)
  15. 15. Accessors • storeText(locator, variableName) • from getText(locator) command • storeLocation(variableName) • from getLocation() command
  16. 16. Assertions • assertText(locator, pattern) • from getText(locator) command • assertLocation(pattern) • from getLocation() command OTHER ASSERTIONS: • verifyText • waitForText • verifyLocation • waitForLocation
  17. 17. Patterns  exact • exact:Google.com in English  glob • glob:*in English  regexp • regexp:Go+gle.com in English  regexpi • regexpi:go+gle.com in english
  18. 18. SELENIUM REMOTE CONTROL
  19. 19. Selenium Remote Control  Selenium RC Architecture  Selenium RC Server  Selenium RC Ruby Client Driver  Testing Frameworks for Ruby  Prototyping tests in IRB  Writing tests (Ruby / Test::Unit)
  20. 20. Selenium RC Architecture
  21. 21. Selenium Server: Interactive Mode  is a way of rapidly prototyping tests.  requires no coding whatsoever.  allows you to immediately see the results. Starting the server in interactive mode: java -jar selenium-server.jar -interactive [otherOptions]
  22. 22. Selenium RC (Ruby Client Driver) • requires ruby • requires rubygems • requires selenium-client gem • gem install selenium-client
  23. 23. Testing Frameworks (Ruby) • Test-Driven Development (TDD) • Test::Unit • Behaviour-Driven Development (BDD) • Rspec • TDD + BDD • Shoulda • test/spec
  24. 24. Interactive Ruby Shell • is a shell for programming in the Ruby language • allows the programmer to experiment with codes
  25. 25. Writing tests (Ruby / Test::Unit)  Require the following in the test script • 'rubygems' • 'selenium/client' • 'test/unit'  Create a class that subclasses Test::Unit::TestCase.  Define “setup” method to set up the common test fixture. • create a new Selenium::Client::Driver object • run the “start” method on the selenium driver object  Add a method that begins with quot;testquot; to the class. • make assertions in the test method.  Define “teardown” method to tear down the test fixture. • run to “stop” method on the selenium driver object
  26. 26. Writing tests (Example)
  27. 27. SELENIUM GRID
  28. 28. Selenium Grid • Selenium Grid Architecture • Selenium Grid Demo
  29. 29. Selenium Grid Architecture
  30. 30. Selenium Grid Demo • Running scripts on multiple machines using different browsers • Sample Environment Configurations • Firefox on Linux • Internet Explorer on Windows • Firefox on Windows
  31. 31. QUESTIONS ???
  32. 32. REFERENCES
  33. 33. References • http://seleniumhq.org/projects/ide/ • http://seleniumhq.org/projects/core/ • http://seleniumhq.org/projects/remote-control/ • http://selenium-client.rubyforge.org/ • http://selenium-grid.seleniumhq.org/
  34. 34. Maestrodev • www.maestrodev.com • Forums • Downloads • Announcements
  35. 35. Thank you!!!
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×