0

それが「正常な」動作であるかどうかはわかりませんが、これまでのところ、それを説明するものは何も見られませんでした。名前のないjavascriptポップアップをテストしています。そのポップアップの要素をテストできるようにするには、ポップアップが完全に読み込まれるまで待つ必要があります。ここにあるのでdiv要素が存在するかどうかを確認するために使用しませんでしたが、別のことを試みました。

これは私が試したものであり、最も奇妙なことはそれが機能することです。

  browser.waitForPopUp("window", "3000");

それは私のすべてのポップアップで機能します(それらのどれにも名前がありません)。「default」、「null」、さらにはnull文字列などの他の文字列を試しましたが、どれも機能しません(どこかで読んだ、どこか忘れた、リンクが見つかったら更新するので、最初に設定した場合はそれを読んだパラメータを「null」に設定すると、ポップアップが読み込まれるまでテストが待機します。試してみると、タイムアウトの問題が発生するだけです)。

誰かが何が起こっているのか、そしてなぜそれが機能するのかについての手がかりを持っていますか?

ありがとう!

4

1 に答える 1

1

waitForPopUpメソッドのドキュメントはここで見ることができます-http ://selenium.googlecode.com/svn/trunk/docs/api/java/com/thoughtworks/selenium/Selenium.html#waitForPopUp%28java.lang.String,% 20java.lang.String%29

最初のパラメータに関しては、「windowID-表示されるウィンドウのJavaScriptウィンドウ「名前」(タイトルバーのテキストではない)」と表示されます。指定されていない場合、または「null」として指定されている場合、このコマンドは最初の非表示されるトップウィンドウ(複数のポップアップを同時に操作している場合は、これに依存しないでください)。」

ポップアップに名前がないと言ったときは、実際にはタイトルを参照していると思います。ポップアップの実際の名前は、おそらく実際には「ウィンドウ」です。

w3schoolsの例(http://www.w3schools.com/jsref/prop_win_name.asp)では、ポップアップの名前がタイトルバーの名前と同じではないことがわかります。実際、名前はどこにも表示されません。

于 2012-07-24T21:09:36.953 に答える