0

新しいタブの内容を確認できる回避策を使用すると、予期しない結果が得られます。テスト ケースを再生すると、次の行で失敗します。

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:            }
4

1 に答える 1

3

お使いのブラウザーでは、Web サイトのポップアップが許可されていないようです。[オプション] > [コンテンツ] > [ポップアップ ウィンドウをブロックするための例外] に移動し、Web サイトのアドレスを追加します。

于 2012-04-10T21:42:24.403 に答える