Selenium

15
Selenium Introduction Ruturaj Doshi Quality Analyst, ThoughtWorks

description

This is my first attempt to publish slide which I created, will be glad to know everybody's comments/responces

Transcript of Selenium

Page 1: Selenium

Selenium Introduction

Ruturaj DoshiQuality Analyst, ThoughtWorks

Page 2: Selenium

AGENDA

Introduction to Selenium Selenium and its Forms Selenium Core Selenium RC Deployment Object locators Features Add On's

Selenium IDE Locator tools.

Demo Q & A

Page 3: Selenium

SELENIUM AND ITS FORMS

Selenium Core Selenium RC Selenium IDE Selenium GRID

Page 4: Selenium

SELENIUM CORE

A Functional testing tool for web applications Tests run directly in the browser Selenium is implemented entirely with browser

technology JavaScript DHTML Frames

Works by looking at the DOM Selenium deploys its BrowserBot alongside your

application Selenium uses JavaScript and IFrames to embed the

BrowserBot in your browser Works with virtually any JavaScript-enabled browser The engine is tweaked to support a wide range of

browsers on Windows, Mac OS X and Linux

Page 5: Selenium

SELENIUM RC

Where the browser is under the control of another process

Drivers exist for Java, .NET, Python, and Ruby The Browser Bot takes instructions from the

adjacent process However, JavaScript cannot open sockets (Cross-site

scripting issues) The Selenese driver continuously requests pages from

the driving process, delivered as plain text This is reply/request (rather than request/reply)

Page 6: Selenium

DEPLOYMENT

Page 7: Selenium

DEPLOYMENT

Page 8: Selenium

FEATURES

Multi Platform support Windows,Linux,Mac

Multi browser support IE, Firefox, Safari, Netscape

Multiple programming Language support C#, Java, Ruby, Python

Xpath, Htmlid, DOM, Css selector Support Ajax ProxyInjection Mode Experimental Browsers provided to test secured

sites Easy to use, small learning curve Free-Open source Matured Community

Page 9: Selenium

OBJECT LOCATOR HTML-ID’s

Id=LoginButton xpath= xpathExpression

Locate an element using an XPath expression. XPath locators must begin with "//". xpath=//img[@alt='The image alt text'] xpath=//table[@id='table1']//tr[4]/td[2]

link= textPattern Select the link (anchor) element which contains text matching the specified

pattern. link=The link text

css=cssSelectorSyntax Select the element using css selectors. css=a[href="#id3"] css=span#firstChild + span

Page 10: Selenium

ADD ON'S : LOCATOR TOOLS

XPather

https://addons.mozilla.org/extensions/moreinfo.php?id=1192

XPath Checker

https://addons.mozilla.org/extensions/moreinfo.php?id=1095

FireBughttps://addons.mozilla.org/en-US/firefox/addon/1843

Page 11: Selenium

ADD ON'S : SELENIUM IDE

• FireFox extension• Not just a recorder• Easy record and playback• Intelligent field selection will use IDs, names, or XPath as needed• Auto complete for all common Selenium commands• Walk through tests• Debug and set breakpoints• Save tests as HTML, Ruby

scripts, or any other format• Support for Selenium Userextensions.js file• Option to automatically assert

the title of every page

Page 12: Selenium

HOW TO START SELENIUM RC SERVER

Dependencies : Java must be installed on your machine and java home is configured in PATH.

Command to be typed on command prompt.Java –jar Selenium-server.jar

By Default Selenium server runs on port 4444. We can make Selenium port use configurable.

Start Selenium server with above commandJava –jar Selenium-server.jar –port 9000

When we do this we also need to modify port while instanstbase class where we modify port.

E.g. Iselenium selenium = new DefaultSelenium(“localhost”,9000,”*firefox”,”http://www.google.com”)

Page 13: Selenium

SAVING TEST RESULTS IN SELENIUM

Selenium RC allow you to dump all script execution log in one file.

Java –jar Selenium-server.jar –log debug.txt Log shown in file look like this

TIMESTAMP LEVEL [THREAD] LOGGER-MESSAGE

The Java implementation of the Selenium Server logs plenty of logging messages, but the JavaScript on the browser side (Selenium Core) also logs important messages; in many cases, these can be more useful to the end-user than the regular Selenium Server log

Page 14: Selenium

Q & A

Page 15: Selenium

Selenium download @

http://www.openqa.com/Seleniumhttp://openqa.org/selenium-rc/

Email:

[email protected]