WEB TESTING WITH SELENIUM AND JUNIT - PowerPoint PPT Presentation

About This Presentation
Title:

WEB TESTING WITH SELENIUM AND JUNIT

Description:

WEB TESTING WITH SELENIUM AND JUNIT David Ross Drake - SDET * * * * * What is Selenium? Selenium Portable software testing framework for web applications Selenium IDE ... – PowerPoint PPT presentation

Number of Views:365
Avg rating:3.0/5.0
Slides: 17
Provided by: nimretOrg
Learn more at: http://www.nimret.org
Category:

less

Transcript and Presenter's Notes

Title: WEB TESTING WITH SELENIUM AND JUNIT


1
WEB TESTING WITH SELENIUM AND JUNIT
David Ross Drake - SDET
2
06/21/11
2
What is Selenium?
  • Selenium
  • Portable software testing framework for web
    applications
  • Selenium IDE
  • Selenium Client Drivers
  • Selenium RC
  • Selenium Grid

3
06/21/11
3
Why use Selenium?
  • Why automated testing?
  • Speed
  • Repeatability
  • Reliability
  • Cost
  • Requalification (security patches)
  • Verisimilitude (vs HTMLUnit)

4
06/21/11
4
DEMONSTRATION SELENIUM IDE
Recording and playing back a test with Selenium
IDE
5
06/21/11
5
Selenium Locators
  • id fastest method
  • name
  • link
  • dom
  • css
  • xpath slowest method

6
06/21/11
6
DEMONSTRATION EXPORTING TESTS
Exporting tests from Selenium IDE into JUnit and
running using Selenium RC
7
06/21/11
7
Selenium RC
Image www.seleniumhq.org
8
06/21/11
8
Selenium Challenges
  • Web app latency can cause tests to fail waiting
    on page events
  • Tests tend to lock in web pages, slowing
    iterative development
  • Selenium core is JavaScript based
  • Not all browsers interpret the same way
  • Can't perform cross-domain testing
  • Testing secure connections is tricky, and often
    browser specific
  • Execution is slow (compared to most unit tests)
  • Formatting problems are untested

9
06/21/11
9
Handling Event Latency
Example An event is triggered on the page when a
user enters invalid data. public static void
waitForPageValidation(DefaultSelenium selenium,
String id) throws InterruptedException
for (int second 0 second) if
(second gt 5) fail("timeout waiting for
event) try
if (selenium.isVisible(id))
break
catch (Exception e)
Thread.sleep(1000)
10
06/21/11
10
Managing Change
  • Separate page content used in tests from actual
    test logic. Most frequently used content
  • Page titles
  • Field locators (ids, names)

11
06/21/11
11
Selenium 2
Advantages Disadvantages
No Selenium RC installation No final version released (summer 2011)
Cross-domain testing capabilities Limited backwards compatibility
Object-oriented API Smaller number of supported browsers
Mobile browser testing
12
06/21/11
12
Speeding Up Selenium
  • Avoid xpath have id attributes for all tested
    fields
  • Reuse browser sessions (although this can cause
    subsequent tests to fail if the session fails)
  • Test local builds to reduce network latency
  • Avoid using multi-page test flows for atomic
    tests
  • Use parameterized tests to test multiple browsers
    at once
  • Parallelize tests to run multiple test classes at
    once
  • Use cloud-based testing services

13
06/21/11
13
Testing Tools in Sauce Labs
  • Sauce Scout Manual testing using dozens of
    os/browser/version combinations
  • Sauce OnDemand Automated cloud-based testing
    using a drop in replacement for selenium RC
  • Sauce Connect Tunneling utility for connecting
    to an application under test behind a firewall
  • Sauce Builder Selenium IDE modified to run
    tests using Sauce OnDemand

14
06/21/11
14
Cloud-based testing in Sauce Labs
Image www.saucelabs.com
15
06/21/11
15
DEMONSTRATION SAUCE LABS
Running tests using Sauce Labs and viewing the
results
16
06/21/11
16
Additional Resources
  • http//www.seleniumhq.com - selenium docs and
    downloads
  • http//www.saucelabs.com - cloud-based selenium
    testing.
  • http//cargo.codehaus.org - thin wrapper for java
    containers
  • http//ce-games.blogger.com - links to this
    presentation
Write a Comment
User Comments (0)
About PowerShow.com