Web application testing with Selenium

Preview:

DESCRIPTION

Slides from presentation at BarcampBrighton in November 2007.

Citation preview

Web Application Testing With Selenium

Kerry Buckley

What’s Selenium?

Created by ThoughtworksUses AJAX & magic

What’s Selenium?

• Web testing framework

Created by ThoughtworksUses AJAX & magic

What’s Selenium?

• Web testing framework

• Runs in a browser

Created by ThoughtworksUses AJAX & magic

What’s Selenium?

• Web testing framework

• Runs in a browser

• HTML & Javascript

Created by ThoughtworksUses AJAX & magic

What’s Selenium?

• Web testing framework

• Runs in a browser

• HTML & Javascript

• Open source

Created by ThoughtworksUses AJAX & magic

What’s Selenium?

• Web testing framework

• Runs in a browser

• HTML & Javascript

• Open source

• http://openqa.org/

Created by ThoughtworksUses AJAX & magic

Four Flavours

Four Flavours

• Selenium Core

Four Flavours

• Selenium Core

• Selenium IDE

Four Flavours

• Selenium Core

• Selenium IDE

• Selenium Remote Control (RC)

Four Flavours

• Selenium Core

• Selenium IDE

• Selenium Remote Control (RC)

• Selenium on Rails

Application

Selenium Core

Browser

Just HTML and Javascript, so can be installed in any web/app server.Install at any convenient path, as long as it’s onthe same server (host & port).Don’t deploy to live!

Selenium Core

Application

Browser

Selenium

Just HTML and Javascript, so can be installed in any web/app server.Install at any convenient path, as long as it’s onthe same server (host & port).Don’t deploy to live!

Selenium Core

Application

Browser

Selenium

Just HTML and Javascript, so can be installed in any web/app server.Install at any convenient path, as long as it’s onthe same server (host & port).Don’t deploy to live!

Selenium RC

Application

Browser

No need to change application.Server launches, drives and kills browser(s).Acts as proxy to get round same-source policy.

Selenium RC

Application

Browser

SeleniumServer

No need to change application.Server launches, drives and kills browser(s).Acts as proxy to get round same-source policy.

Selenium RC

Application

Browser

SeleniumServer

Tests

No need to change application.Server launches, drives and kills browser(s).Acts as proxy to get round same-source policy.

Selenium RC

Application

Browser

SeleniumServer

Tests

No need to change application.Server launches, drives and kills browser(s).Acts as proxy to get round same-source policy.

Selenium RC

Application

Browser

SeleniumServer

Tests

No need to change application.Server launches, drives and kills browser(s).Acts as proxy to get round same-source policy.

Browser

Selenium IDE

Application

Firefox plugin. Single browser, but cross-platform.Record, edit and playback.Import/export various formats (HTML tables is default, like Selenium).

Selenium IDE

Application

BrowserSelenium

Firefox plugin. Single browser, but cross-platform.Record, edit and playback.Import/export various formats (HTML tables is default, like Selenium).

Selenium IDE

Application

BrowserSelenium

Firefox plugin. Single browser, but cross-platform.Record, edit and playback.Import/export various formats (HTML tables is default, like Selenium).

Selenium on Rails

Application

Browser

Selenium

Only runs in test mode, so you don’t need to remove it to deploy.

Selenium on Rails

Application

Browser

SeleniumRails

Magic

Only runs in test mode, so you don’t need to remove it to deploy.

Pros and Cons

Pros and Cons

• Runs using a real browser

Pros and Cons

• Runs using a real browser

• Cross-platform & cross-browser

Pros and Cons

• Runs using a real browser

• Cross-platform & cross-browser

• Language-agnostic

Pros and Cons

• Runs using a real browser

• Cross-platform & cross-browser

• Language-agnostic

• Hard to test across hosts or ports

Pros and Cons

• Runs using a real browser

• Cross-platform & cross-browser

• Language-agnostic

• Hard to test across hosts or ports

• including SSL/non-SSL

Demo

Recommended