SeleniumCore0.8.0 フレーム対応確認
0.8.0の目玉機能、マルチウィンドウモードでフレーム対応の動作確認を実施(ついでにポップアップウィンドウも)。
テスト対象のアプリ(ってほどでもないけど)は以下のような要素を持っている。
- 入れ子のフレーム(Frameの中にiframe)
- リンクのtarget属性_top指定でトップページに戻る
- javascriptでポップアップウィンドウを出す
結果:マルチウィンドウモードで上記要素を扱って試験実施できることを確認しました。
ポップアップ部分のソースはこんな感じ。
<script language="JavaScript" type="text/JavaScript"> function showPage(url){ profile = window.open(url,"new","width=400,height=600"); //newWin.location = url; } </script> <body> ・・・ <p><a href="javascript:showPage('profile.html');">プロフィール</a></p> ・・・ </body>
テストケースはこんなかんじ。基本的に、操作対象とするフレームの名前をselectFrameで指定した後に普通のコマンドを実行していく。ポップアップウィンドウも同様にselectWindowで指定する。(つまり、ウィンドウidとかフレームのnameが無いとムリっぽい)
open | /FrameSample/index.html | |
assertTitle | Taro's Art Shop - Top | |
Frameの中のiFrameを指定してその中を検証 | ||
selectFrame | news | |
assertTable | //table.0.0 | 2006/6/9 |
assertText | //td[2] | 宇宙の写真をupしました! |
1つ上位のFrameに移動する | ||
selectFrame | relative=up | |
verifyTextPresent | News | |
最上位のFrameに移動する | ||
selectFrame | relative=top | |
click | link=作品集 | |
selectFrame | workmain | |
_topのリンクをクリック | ||
click | link=topページへ戻る | |
selectWindow | menu | |
ポップアップウィンドウ出すリンクをクリック | ||
click | link=プロフィール | |
waitForPopUp | new | 30000 |
ポップアップウィンドウを指定してその中を検証 | ||
selectWindow | new | |
assertTable | //table.0.0 | 本名 |
assertTable | //table.0.1 | 田中 太郎 |
click | name=closewindow | |
selectWindowでnull指定すると本体に戻ってくる | ||
selectWindow | null | |
verifyTitle | Taro's Art Shop - Top |