Selenium
Test Web Applications Using Selenium
A Web Club NITK Talk
Date : 03.02.2015
Test Automation
●
Test automation is the use of software
To set test preconditions.
To control the execution of tests.
 To compare the actual outcomes to predicted
outcomes.
To report the Execution Status.
●
Commonly, test automation involves
automating a manual process already in
place that uses a formalized testing
process.
Why and When To Automate?
●
Frequent regression testing
●
Repeated test case Execution is required
●
User Acceptance Tests
●
Faster Feedback to the developers
●
Reduce the Human Effort
●
Test same application on multiple
environments
Selenium
●
Selenium is a robust set of tools that supports
rapid development of test automation for web-
based applications.
●
Selenium provides a rich set of testing functions
specifically geared to the needs of testing of a
web application.
●
Selenium operations are highly flexible, allowing
many options for locating UI elements and
comparing expected test results against actual
application behavior.
Selenium Features
●
Supports Cross Browser Testing. The
Selenium tests can be run on multiple
browsers.
●
Allows scripting in several languages like
Java, C#, PHP and Python.
●
Assertion statements provide an efficient
way of comparing expected and actual
results.
●
Inbuilt reporting mechanism.
Selenium Components
●
Selenium Web Driver
●
Selenium IDE
●
Selenium Remote Control
●
Selenium Grid
Selenium Web Driver
● WebDriver is a tool for automating testing web
applications. WebDriver interacts directly with the
browser without any intermediary.
● Multi-browser testing including improved functionality
for browsers.
● Handling multiple frames, multiple browser windows,
popups, and alerts.
● Complex page navigation.
● Advanced user navigation such as drag-and-drop.
● AJAX-based UI elements.
Architecture
Installation
● http://www.seleniumhq.org/download/
● In order to create scripts that interact with
the Selenium Server (Selenium RC,
Selenium Remote Webdriver) or create
local Selenium WebDriver script you need
to make use of language-specific client
drivers.
● Ruby,Java, C#, Python, Node.js
Sample Script to Test a page
Most used Commands
Command Description
driver.get("URL") To navigate to an application.
element.sendKeys("inputtext") Enter some text into an input box.
element.clear() Clear the contents from the input box.
driver.switchTo().window("windowName"
)
Move the focus from one window to
another.
driver.navigate().to("URL") Navigate to the URL.
driver.close() Closes the current browser associated
with the driver.
driver.quit() Quits the driver and closes all the
associated window of that driver.
driver.refresh() Refreshes the current page.
Selenium - Grid
● Selenium Grid is a tool that distributes the tests across
multiple physical or virtual machines so that we can
execute scripts in parallel (simultaneously). It dramatically
accelerates the testing process across browsers and
across platforms by giving us quick and accurate
feedback.
● Selenium Grid allows us to execute multiple instances of
WebDriver or Selenium Remote Control tests in parallel
which uses the same code base, hence the code need
NOT be present on the system they execute. The
selenium-server-standalone package includes Hub,
WebDriver, and Selenium RC to execute the scripts in
grid.
Selenium grid Architecture
Selenium IDE
●
Selenium IDE is an integrated development
environment for Selenium tests.
●
It is implemented as a Firefox extension, and
allows you to record, edit, and replay the test in
firefox
●
Selenium IDE allows you to save tests as
HTML, Java, Ruby scripts, or any other format
●
It allows you to automatically add assertions to
all the pages.
●
Allows you to add selenese commands as and
when required
Selenium IDE - UI
Start and Stop
Recording
Selenese
Script
Editor
Selenium Log
Replay
Toolbar
Accessor
Area
Other Uses of selenium
● Crawling webpages . Also, AJAX crawling.
● Responsive Testing.
● Scraping content from webpages. In
particular, the ones which don't provide an
API and load content lazily using
Javascript.
Future Of Testing & Selenium
`
Thank you :)
Mail : anirudht20@gmail.com

Selenium ppt

  • 1.
    Selenium Test Web ApplicationsUsing Selenium A Web Club NITK Talk Date : 03.02.2015
  • 2.
    Test Automation ● Test automationis the use of software To set test preconditions. To control the execution of tests.  To compare the actual outcomes to predicted outcomes. To report the Execution Status. ● Commonly, test automation involves automating a manual process already in place that uses a formalized testing process.
  • 3.
    Why and WhenTo Automate? ● Frequent regression testing ● Repeated test case Execution is required ● User Acceptance Tests ● Faster Feedback to the developers ● Reduce the Human Effort ● Test same application on multiple environments
  • 4.
    Selenium ● Selenium is arobust set of tools that supports rapid development of test automation for web- based applications. ● Selenium provides a rich set of testing functions specifically geared to the needs of testing of a web application. ● Selenium operations are highly flexible, allowing many options for locating UI elements and comparing expected test results against actual application behavior.
  • 5.
    Selenium Features ● Supports CrossBrowser Testing. The Selenium tests can be run on multiple browsers. ● Allows scripting in several languages like Java, C#, PHP and Python. ● Assertion statements provide an efficient way of comparing expected and actual results. ● Inbuilt reporting mechanism.
  • 6.
    Selenium Components ● Selenium WebDriver ● Selenium IDE ● Selenium Remote Control ● Selenium Grid
  • 7.
    Selenium Web Driver ●WebDriver is a tool for automating testing web applications. WebDriver interacts directly with the browser without any intermediary. ● Multi-browser testing including improved functionality for browsers. ● Handling multiple frames, multiple browser windows, popups, and alerts. ● Complex page navigation. ● Advanced user navigation such as drag-and-drop. ● AJAX-based UI elements.
  • 8.
  • 9.
    Installation ● http://www.seleniumhq.org/download/ ● Inorder to create scripts that interact with the Selenium Server (Selenium RC, Selenium Remote Webdriver) or create local Selenium WebDriver script you need to make use of language-specific client drivers. ● Ruby,Java, C#, Python, Node.js
  • 10.
    Sample Script toTest a page
  • 11.
    Most used Commands CommandDescription driver.get("URL") To navigate to an application. element.sendKeys("inputtext") Enter some text into an input box. element.clear() Clear the contents from the input box. driver.switchTo().window("windowName" ) Move the focus from one window to another. driver.navigate().to("URL") Navigate to the URL. driver.close() Closes the current browser associated with the driver. driver.quit() Quits the driver and closes all the associated window of that driver. driver.refresh() Refreshes the current page.
  • 12.
    Selenium - Grid ●Selenium Grid is a tool that distributes the tests across multiple physical or virtual machines so that we can execute scripts in parallel (simultaneously). It dramatically accelerates the testing process across browsers and across platforms by giving us quick and accurate feedback. ● Selenium Grid allows us to execute multiple instances of WebDriver or Selenium Remote Control tests in parallel which uses the same code base, hence the code need NOT be present on the system they execute. The selenium-server-standalone package includes Hub, WebDriver, and Selenium RC to execute the scripts in grid.
  • 13.
  • 14.
    Selenium IDE ● Selenium IDEis an integrated development environment for Selenium tests. ● It is implemented as a Firefox extension, and allows you to record, edit, and replay the test in firefox ● Selenium IDE allows you to save tests as HTML, Java, Ruby scripts, or any other format ● It allows you to automatically add assertions to all the pages. ● Allows you to add selenese commands as and when required
  • 15.
    Selenium IDE -UI Start and Stop Recording Selenese Script Editor Selenium Log Replay Toolbar Accessor Area
  • 16.
    Other Uses ofselenium ● Crawling webpages . Also, AJAX crawling. ● Responsive Testing. ● Scraping content from webpages. In particular, the ones which don't provide an API and load content lazily using Javascript.
  • 17.
    Future Of Testing& Selenium `
  • 18.