40
Selenium 2 Jason Huggins Co-creator, The Selenium Project Co-founder, CTO, Sauce Labs Inc twitter: @hugs email: [email protected]

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

  • Upload
    hugs

  • View
    111

  • Download
    0

Embed Size (px)

DESCRIPTION

Curious to know more about Selenium 2? On Feb 16, Jason Huggins, co-creator of Selenium, held an online presentation devoted to covering the essentials of this new testing tool that combines the best of WebDriver and Selenium. Here’s a run-down of what was covered: * iPhone and Android testing – See how Selenium 2 allows you to use built-in Android and iPhone emulators to test versions of your applications on the most popular mobile platforms. * Cleaner API for IDE users – Selenium introduces a simplified interface for IDE users that directs you to focus on only two basic objects to construct tests: WebDriver (browsers) and WebElements (anything on a web page). In Selenium 2, every API library is now tailored to each programming language for easier usability. * Enhanced scalability – The new Selenium 2 architecture allows developers and QA teams to “scale up and down”. For a single test on a local machine, you no longer need a background server. But when you want to scale up to run tests across multiple machines with multiple browser configurations, Selenium has all the power you’ll need. * Improved architecture – The new Selenium 2 architecture has enabled the introduction of a number of features that developers and QA pros will love, including native keyboard, support for mouse events, improved capabilities for handling pop-ups, and more stable browser control.

Citation preview

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]