私はウェブサイトのテスト自動化を書き出す過程にあります。私のテストでは、それぞれが独自のウィンドウを提供するリンクのリストを実行し、ウィンドウ内のデータを確認してから、子ウィンドウを閉じて親ウィンドウに戻ります。
各リンクにアクセスできますが、フォーカスを子ウィンドウに切り替えることはできません。また、driver.WindowHandlesにはハンドルが1つしか表示されません(前日は表示されませんでした)。私はこの2日間この問題に悩まされており、ちょうど後退しているように感じます。ありとあらゆる助けをいただければ幸いです。
以下は私のコードの一部です
if (pop_continue)
{
//windowsBefore = 1
wait.Until((_driver) => { return _driver.WindowHandles.Count != windowsBefore; });
ReadOnlyCollection<string> Handles = driver.WindowHandles;
foreach (var handle in Handles)
{
if (!handle.Equals(baseWindowHndl))
{
driver.SwitchTo().Window(handle);
break;
}
}
try
{
Console.WriteLine("Child Window (a) " + driver.CurrentWindowHandle);
//..
driver.SwitchTo().Window(baseWindowHndl); //baseWindowHndl is initialized to parent handle
Console.WriteLine("Parent Window (b) " + driver.CurrentWindowHandle);
}
catch (Exception e)
{
Console.WriteLine("<-Something stupid occurred.->");
Console.WriteLine(e.Source + " : " + e.Message);
}
//////////////
}