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