我正在为网站编写一些测试自动化。我的测试应该做的是:运行一个链接列表,每个链接都提供自己的窗口,检查窗口中的数据,然后关闭子窗口并恢复到父窗口。
虽然我可以访问每个链接,但我无法将焦点切换到子窗口。driver.WindowHandles 只显示一个句柄(前一天没有这样做)。在过去的两天里,我一直被困在这个问题上,感觉就像我在倒退。任何和所有的帮助将不胜感激。
以下是我的代码的一部分
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);
}
//////////////
}