読者です 読者をやめる 読者になる 読者になる

Seleniumことはじめ 〜Assertion〜

Assertionとは、アプリケーションの動作結果が期待しているものと合致しているか検証するためのコマンドのこと。Assertionには以下の3つのモデルがあります。

assert 失敗した場合、テストは中止されます
verify 失敗した場合、失敗はログに記録されてテストは継続実施されます
waitFor 条件が満たされることを待ちます(Ajaxのテストに有効)。条件が既に満たされている場合は直ちに検証成功となります。しかし、現在のタイムアウト設定の時間内に条件が満たされなかった場合には検証失敗となり、テストを中止します

Selenium IDE では、右クリックから Assertion メニューを開いた際に、「Toggle verify/assert」で切り替えることができます(waitForは無いみたい)。

Assertion コマンド一覧

何が検証できるのか整理してみました。「assertXxxx」は、「verifyXxxx」「waitForXxxx」と指定することも可能です。

コマンド 検証内容
assertLocation
assertNotLocation
現在のページの絶対URL
assertTitle
assertNotTitle
現在のページのタイトル
assertText
assertNotText
要素のテキスト文字列
assertTextPresent
assertTextNotPresent
ページのどこかに表示されているテキスト文字列パターン
assertBodyText
assertNotBodyText
そのページのテキスト全体
assertValue
assertNotValue
入力フィールド及びvalueパラメータを持つ要素の(空白整形された)値
assertEval
assertNotEval
指定したJavascriptの評価結果
assertSelected
assertNotSelected
ドロップダウンのselect要素にて選択したopotion要素がoptionLocatorとマッチしているか
assertChecked
assertNotChecked
トグルボタン(チェックボックス/ラジオボタン)の選択状態
assertTable
assertNotTable
table要素のセルアドレスを指定してのテキスト文字列
assertSelectedLabels
assertNotSelectedLabels
指定したselect要素(複数選択可能なものも含む)にて選択されている全てのoption要素のラベル(表示されるテキスト文字列)
assertSelectedLabel
assertNotSelectedLabel
指定したselect要素において選択されているoption要素のラベル(表示されるテキスト文字列)
assertSelectedValues
assertNotSelectedValues
指定したselect要素(複数選択可能なものを含む)にて選択されている全てのoption要素のvalue属性値
assertSelectedValue
assertNotSelectedValue
指定したselect要素にて選択されているoption要素のvalue属性値
assertSelectedIndexes
assertNotSelectedIndexes
指定したselect要素(複数選択可能なものを含む)にて選択されている全てのoption要素のインデックス(0から始まるoptionの順番)
assertSelectedIndex
assertNotSelectedIndex
指定したselect要素にて選択されているoption要素のインデックス(0から始まるoptionの順番)
assertSelectedIds
assertNotSelectedIds
指定したselect要素(複数選択可能なものを含む)にて選択されている全てのoption要素のid属性値
assertSelectedId
assertNotSelectedId
指定したselect要素にて選択されているoption要素のid属性値
assertSomethingSelected
assertNotSomethingSelected
select要素でいずれかのoption要素が選択されているかどうか
assertSelectOptions
assertNotSelectOptions
指定したselect要素に含まれる全てのoption要素
assertAttribute
assertNotAttribute
要素のattribute(属性)値
assertElementPresent
assertElementNotPresent
指定した要素がそのページのどこかにあるかどうか
assertVisible
assertNotVisible
指定した要素が表示されているかどうか
assertEditable
assertNotEditable
指定したinput要素が編集可能かどうか
assertAlert
assertNotAlert
alertの発生(メッセージ指定あり)
assertAlertPresent
assertAlertNotPresent
alertの発生
assertPrompt
assertNotPrompt
promptの発生(メッセージ指定あり)
assertPromptPresent
assertPromptNotPresent
promptダイアログの発生
assertConfirmation
assertNotConfirmation
confirm()メソッドの呼び出し(メッセージ指定あり)
assertConfirmationPresent
assertConfirmationNotPresent
confirm()メソッドの呼び出し
assertAllButtons
assertNotAllButtons
指定したid配列のボタンがあるかどうか
assertAllLinks
assertNotAllLinks
指定したid配列のリンクがあるかどうか
assertAllFields
assertNotAllFields
指定したid配列の入力フィールドがあるかどうか
assertHtmlSource
assertNotHtmlSource
htmlタグで括られた全てのHTMLソース
assertCursorPosition
assertNotCursorPosition
指定したinput要素またはテキストエリアにおけるカーソル位置
assertExpression
assertNotExpression
指定した表現(avaScriptのプリプロセッシングのために有効)

引数などの詳細については、「Selenium リファレンスガイド(日本語版)」 を参考にしてください。