新しいタブの内容を確認できる回避策を使用すると、予期しない結果が得られます。テスト ケースを再生すると、次の行で失敗します。
storeEval | javascript{"selenium.browserbot.getCurrentWindow().open('', 'my_window')"} | my_window
次のエラー メッセージが表示されます。
[error] Threw an exception: result is null
次の代替ステートメントは、まったく同じ症状を示しています。
getEval | window.open("", "my_window")
getEval | selenium.browserbot.openWindow("", "my_window")
今、ダブルクリックしても失敗しませんが、新しいウィンドウが開きます。これは、元のソリューションが意図していなかったと思います (次のステップは、結局、親ウィンドウのリンクをクリックすることです) )。この時点で、親ウィンドウをクリックし、次のステップを手動で実行してリンクを起動し、手動で子ウィンドウに戻り (selectWindow | my_window
そのウィンドウが見つからないと表示されます)、次の各ステップを手動で実行して、新しいウィンドウの内容。
ここからテストを適切に自動化するにはどうすればよいですか?
更新: ウィンドウを開くための組み込みアクションがありますが、これも失敗します。おそらく、この逐語的なログ出力は、何が起こっているのかを明らかにすることができます:
[info] Executing: |store | license_window | windowName |
...
[info] Executing: |openWindow | | ${windowName} |
[error] Unexpected Exception: fileName -> chrome://selenium-ide/content/recorder.js, lineNumber -> 74
Recorder.js からの関連する行:
66: window.open = function(url, windowName, windowFeatures, replaceFlag) {
...
74: if (result.wrappedJSObject) {
75: result = result.wrappedJSObject;
76: }