public void ShouldBeAbleToIterateOverAllOpenWindows()
{
CreateFreshDriver();
driver.Url = xhtmlTestPage;
driver.FindElement(By.Name("windowOne")).Click();
SleepBecauseWindowsTakeTimeToOpen();
driver.FindElement(By.Name("windowTwo")).Click();
SleepBecauseWindowsTakeTimeToOpen();
ReadOnlyCollection<string> allWindowHandles = driver.GetWindowHandles();
// There should be three windows. We should also see each of the window titles at least once.
List<string> seenHandles = new List<string>();
foreach (string handle in allWindowHandles)
{
Assert.IsFalse(seenHandles.Contains(handle));
driver.SwitchTo().Window(handle);
seenHandles.Add(handle);
}
Assert.AreEqual(3, allWindowHandles.Count);
CreateFreshDriver();
}