Selenium Introduction
Why choose Selenium?
Types of Functional Test Tools for Web Apps
“Flavors” of Selenium
Selenium IDE Basics
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
Types of Functional Test Tools
Use of a simulated browser: HttpUnit, HtmlUnit & WebTest
Use of a real browser: Selenium, Watir (and FireWatir and
SafariWatir)
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=//html/body/center/form/table/tbody/tr/td[2]/input[2]
link
• link=English
Accessors
• storeText(locator, variableName)
• from getText(locator) command
• storeLocation(variableName)
• from getLocation() command
Assertions
• assertText(locator, pattern)
• from getText(locator) command
• assertLocation(pattern)
• from getLocation() command
OTHER ASSERTIONS:
• verifyText
• waitForText
• verifyLocation
• waitForLocation
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
SELENIUM REMOTE CONTROL
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)
Selenium RC Architecture
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]
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'
• '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 \"test\" 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
Selenium Grid Demo
• Running scripts on multiple machines using different
browsers
• Sample Environment Configurations
• Firefox on Linux
• Internet Explorer on Windows
• Firefox on Windows
0 comments
Post a comment