Selenium 中級者になろう (変数+XPath+JavaScriptを,テストケース中で利用する方法)
回帰テストツール「Selenium」の中級 Tips。
初級の使い方については
今から3分で selenium の使い方を身に付ける (回帰テスト自動化)
http://language-and-engineering.hatenablog.jp/entry/20081016/1224080409
selenium 主なコマンド一覧
http://language-and-engineering.hatenablog.jp/entry/20081016/1224123118
で入門のこと。
Seleniumのより便利な使い方として,下記で
- (1)変数の使い方
- (2)XPathの使い方
- (3)テストケース中へのjavascriptの埋め込み
- (4)Ajaxアプリのテスト方法
を学ぶ。
まず,まとめを掲載。そのあとで,実際のテストでどう役立つのか詳しく解説する。
まとめ
要素の指定方法まとめ
ElementLocator(要素を指定するための文字列)にはDOM ID,xpath, document.〜,javascript{"DOM"+"ID";}, ${varname}が使える。
- verifyElementPresent fuga
- verifyElementPresent //input[@id="fuga"]
- verifyElementPresent document.getElementById("fuga")
- verifyElementPresent document.getElementsByTagName("input")[0]
- verifyElementPresent javascript{ "fu" + "ga"; }
- store fuga elem_id
verifyElementPresent ${elem_id}- store fuga elem_id
verifyElementPresent javascript{ storedVars["elem_id"]; }
変数のまとめ
格納
- store 値 変数名
- storeValue 要素 変数名
- getEval storedVars["変数名"] = 値;
参照
- ${変数名}
- javascript{ storedVars["変数名"] }
JSのまとめ
埋め込み
- javascript{ コード }
- getEval コード
- verifyEval コード 値
JSコード中で利用できる特殊なオブジェクト
- this : selenium内の専用環境を指す
- this.page().getDocument() : テスト中のページのdocument
- this.page().getCurrentWindow() : テスト中のページのwindow
- storedVars : 変数格納用のハッシュ
- selenium : seleniumコアのいろいろ操作とかできるオブジェクト
以下解説。