1

我正在为网站编写一些测试自动化。我的测试应该做的是:运行一个链接列表,每个链接都提供自己的窗口,检查窗口中的数据,然后关闭子窗口并恢复到父窗口。

虽然我可以访问每个链接,但我无法将焦点切换到子窗口。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);
      }
      //////////////
}
4

0 回答 0