スポンサーリンク

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コアのいろいろ操作とかできるオブジェクト


以下解説。

続きを読む