Transcript
Page 1: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Selenium 2Jason Huggins

Co-creator, The Selenium ProjectCo-founder, CTO, Sauce Labs Inc

twitter: @hugsemail: [email protected]

Page 2: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Agenda

• Overview of Selenium

• Selenium IDE, RC, Grid

• Why: Selenium 2

• What: Selenium 2

• Demos!

Page 3: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

+ =

What is Selenium?

Page 4: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

The Problem

Page 5: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Selenium IDE for Firefox

Page 6: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

6

!"#$%"&'$(%)$*

+%%,-..///01*234)03$#.,+$%$5.23"6$(".789:;8<=:

Page 7: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Python, Ruby, Java, C#, or Perl

Test ScriptHTTP

Your AwesomeWeb App

Selenium RC Server

HTTP HTTP

Selenium Remote Control

Page 8: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Example Selenium RC Test - Java

Page 9: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Example Selenium RC Test - C#

Page 10: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

!"#$

%&&'())***+,-#./"+.01)'%0&02)$345)67879:;)

Selenium Grid

Page 11: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Time

Servers

Unit of Work

Page 12: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Time

Servers

Unit of Work

Page 13: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Selenium 2: Why and What

Page 14: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Mobile

Page 15: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Types of Mobile Testing

• Emulator

• Real device (tethered to workstation)

• Real device in a real location on a real network

Page 16: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Native vs Web

Page 17: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Life before the Web

Total Application Market

Page 18: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Total Application Market

JS+HTML

Yesterday

Page 19: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Total Application Market

JS+HTML5

Today

Page 20: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Data?

Page 21: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing
Page 22: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Sencha

Page 23: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

SproutCore

Page 24: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

PhoneGap

Page 25: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Total Application Market

JS+HTML5

TodaySelenium lives here!

Page 26: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Total Application Market

JS+HTML5

TomorrowSelenium lives here!

Page 27: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

The Pareto Principle

Page 28: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

AKA (“The Pacman Problem”)

Selenium 1

Selenium 2

Page 29: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

• Native keyboard & mouse events• Same Origin Policy / XSS / HTTP(S)• Pop-ups, dialogs

– Basic Authentication– Self-signed certificates– File upload/download

Solving the last 20%

Page 30: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing
Page 31: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

• WebDriver Object

• WebElement Objects

Cleaner API

Page 32: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

• Improved architecture• Removing road-blocks, hacks, and

workarounds• Scales down (more developer friendly)

experience

Other Benefits

Page 33: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Python, Ruby, Java, C#, or Perl

Test ScriptHTTP

Your AwesomeWeb App

Selenium RC Server

HTTP HTTP

Selenium Remote Control

Page 34: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Python, Ruby, Java, C#, or Perl

Test ScriptHTTP

Your AwesomeWeb App

Selenium RC Server

HTTP HTTP

Selenium 2

Page 35: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Python, Ruby, Java, C#, or Perl

Test Script

Your AwesomeWeb App

HTTP HTTP

Page 36: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Python, Ruby, Java, C#, or Perl

Test Script

Your AwesomeWeb App

C/C++ HTTP

Page 37: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Running a server is now optional!

Python, Ruby, Java, C#, or Perl

Test ScriptHTTP

Your AwesomeWeb App

Selenium Grid

HTTP HTTP

Page 38: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Demo!

Page 40: Selenium 2 Webinar: The Next Generation of Web and Mobile Application Testing

Thanks!Jason Huggins

Co-creator, The Selenium ProjectCo-founder, CTO, Sauce Labs Inc

twitter: @hugsemail: [email protected]


Top Related