ProcessTestObject が与えられた場合、そのプロセスに関連付けられたウィンドウを BrowserTestObject または少なくとも TopLevelTestObject として取得する方法はありますか? 例えば
// Open IE at http://www.google.com/
ProcessTestObject browserProcess = startApp("Google");
// Wait for the browser to load...there's probably a better way, but I don't know it.
sleep(10);
// Now what?
ProcessTestObject には、使用できる子がないようです。私はもう試した
browserProcess.find(atDescendant(".class", "Html.HtmlBrowser"));
と
browserProcess.find(atDescendant(".class", "Html.HtmlDocument"));
しかし、どちらの検索でも結果は得られません。特定の HTML タグを見つけようとしても失敗しました。
RootTestObject で HtmlBrowser を検索すると、おそらく 98% の確率で機能します。ただし、以前のテストで開いたままになっている可能性のある迷子のウィンドウではなく、起動したばかりのブラウザーを取得していることを保証する方法を本当に望んでいます。他に考えられる唯一の方法は、すべてのブラウザー ウィンドウを検索して事前に閉じることですが、もっと簡単な解決策があるのではないかと考えました。