Selenium RC - Web Application Testing Tool

19
Selenium RC - Web Application Testing Tool NSEG 11th at Jan-15-11 MONZENPLAZA "Software Test" Atsushi Sano < Twitter ID: sano66 >

description

nseg #11 資料

Transcript of Selenium RC - Web Application Testing Tool

Page 1: Selenium RC - Web Application Testing Tool

Selenium RC - Web Application Testing Tool

NSEG 11th at Jan-15-11 MONZENPLAZA

"Software Test"

Atsushi Sano < Twitter ID: sano66 >

Page 2: Selenium RC - Web Application Testing Tool

Why Not Test ?(1)

Page 3: Selenium RC - Web Application Testing Tool

original University of London Computer Center Newsletter, No.53, March 1973

Page 4: Selenium RC - Web Application Testing Tool

Why Not Test ?(2)

Page 5: Selenium RC - Web Application Testing Tool

Web Application

Page 6: Selenium RC - Web Application Testing Tool

Web Application Test (1)

Page 7: Selenium RC - Web Application Testing Tool

Web Application Test (2)

Page 8: Selenium RC - Web Application Testing Tool

Web Application Test (3)

疲れちゃうよね

Page 9: Selenium RC - Web Application Testing Tool

Selenium

Selenium Core

Selenium IDE

Selenium Remote Control

Selenium Grid Selenium on rails Selenium Ruby Selenium for Eclipse Bromine

Page 10: Selenium RC - Web Application Testing Tool

How to test with using Selenium RC ?

1. ターゲットのウェブアプリケーションを起動する

2. Selenium RemoteControl Serverを立ち上げる

3. テストスクリプトを実行する

4. あとは左図に従ってテストスクリプトの内容が実行される

Page 11: Selenium RC - Web Application Testing Tool

What is Test Script ?

1. ブラウザの操作2. 操作結果の検証

Page 12: Selenium RC - Web Application Testing Tool

How to write Test Scenario ?

確認内容画面遷移各画面の動作

視点ユースケースとの整合性(タイヤブランコに乗れるか?)

ヒントユースケースの視点から画面遷移の始まりと終わりを決めておくとシナリオをたてやすい各画面に画面IDを振ると画面遷移を確認しやすい

Page 13: Selenium RC - Web Application Testing Tool

Demo - "Travel" application

Page 14: Selenium RC - Web Application Testing Tool
Page 15: Selenium RC - Web Application Testing Tool

Tips for Java

既定パス以外にインストールしたブラウザの指定 String browserStartCommand = "*firefox /Users/sano/Applications/Firefox.app/Contents/MacOS/firefox-bin"; // String browserStartCommand = "*safari"; selenium = new DefaultSelenium("localhost", 4444, browserStartCommand, "http://localhost:8080/travel/"); selenium.start();

table要素で表した明細の数え方 assertEquals(4, selenium.getXpathCount("//div[@id='hotelResults']/table/tbody/tr").intValue());

JavaScript(Ajax)操作の待ち方 selenium.click("changeSearchLink"); selenium.waitForCondition("selenium.isElementPresent(\"searchString\")", "30000");

画面キャプチャの仕方(Firefox限定)

selenium.captureEntirePageScreenshot(captureImgDir + "testSearchFlow04.png", "background=#ffffff");

Page 16: Selenium RC - Web Application Testing Tool

Why Not Selenium ?

ユーザが欲しいものを提供するためにテストは必要ウェブアプリケーションはテストが大変Selenium RCを使えばテストの自動化が可能技術力でコスト低減を図る

Page 17: Selenium RC - Web Application Testing Tool

And more ...

Tire Swing Cartoon

http://pages.uoregon.edu/ftepfer/SchlFacilities/TireSwingTable.html

Project Cartoon

tree swing pictures

Selenium

Selenium Web Site

Selenium RC Documentation

IBM developerWorks Selenium Remote Control の紹介記事Selenium 2.0 and WebDriver

Page 18: Selenium RC - Web Application Testing Tool

Credit

title photo Author

Web Application Test(1) cc511

Web Application Test(1) cc511

Web Application Test(1) solylunafamilia

Web Application Test(1) ke4

Web Application Test(2) cc511

How to write Test Scenario ? katiekills

Page 19: Selenium RC - Web Application Testing Tool

Thank you