私のプロジェクトでは、Creating a new employee を自動化しようとしました。そのためには、メイン ウィンドウから子ウィンドウを開くリンクをクリックする必要があり、その子ウィンドウでルックアップ ボタンをクリックして、そのレポート マネージャーを選択する必要があります。従業員 。そのルックアップをクリックすると、マネージャー名のリストを含む新しい孫ウィンドウが表示されるので、そこからマネージャーを選択できます。
以下は、ウィンドウ間を移動するために使用したコードです。
// 親から子へ移動
String parentWindow = driver.getWindowHandle();
Set<String> windowHandles = driver.getWindowHandles();
System.out.println(windowHandles.size());
windowHandles.remove(parentWindow);
driver.switchTo().window((String) windowHandles.toArray()[0]);
// Click lookup to emulate Grandchild window
driver.findElement(..)
//From child to grandchild
Set<String> grandChild_Child_ParentHandles=driver.getWindowHandles();
grandChild_Child_ParentHandles.remove(parentWindow);
grandChild_Child_ParentHandles.remove(windowHandles);
System.out.println(grandChild_Child_ParentHandles.size());
driver.switchTo().window((String) grandChild_Child_ParentHandles.toArray()[0]);
System.out.println(driver.getTitle());
私のコードはそのルックアップをクリックするまで実行され、その後私のコードは実行を停止しました。そして、孫のウィンドウを手動で閉じた場合にのみ、コードが再び開始されます。なぜそれが起こっているのか疑問に思っています。
助けてください!
前もって感謝します、シヴァ