В моем сценарии я проверяю, переместится ли ссылка на ссылку на другую страницу (проверка названия страницы). IE, FF и хром возвращение 2, как ожидается, но Opera возвращается 4. У меня не было никаких других экземпляров Opera открыт во время ходовых испытаний. Он нажимает на ссылку и открывается нужная страница, но WindowHandles возвращает 4.Opera - driver.WindowHandles возвращает неверный счет
Код:
string BaseWindow = Drivers._driverInstance.CurrentWindowHandle;
Drivers._driverInstance.SwitchTo().Frame(Drivers._driverInstance.FindElement(By.ClassName("iframe-fix")));
if (Drivers._driverInstance.GetType().Name.ToString() == "InternetExplorerDriver")
{
IJavaScriptExecutor js = (IJavaScriptExecutor)Drivers._driverInstance;
js.ExecuteScript("arguments[0].click();", Drivers._driverInstance.FindElement(By.LinkText("Professional Services.")));
}
else
{
Drivers._driverInstance.FindElement(By.LinkText("Professional Services.")).Click();
}
System.Collections.ObjectModel.ReadOnlyCollection<string> handles = Drivers._driverInstance.WindowHandles;
if (handles.Count == 2)
{
foreach (string handle in handles)
{
if (handle != BaseWindow)
{
string title = Drivers._driverInstance.SwitchTo().Window(handle).Title;
Assert.AreEqual("title of the page", Drivers._driverInstance.Title);
}
}
}
else
{
Assert.Fail("WindowHandles returns " + handles.Count + " instead of 2");
}
Drivers._driverInstance.SwitchTo().Window(BaseWindow);
Может кто-то предложить, почему Opera возвращает 4 вместо 2.
Спасибо.
Спасибо за ответ. Есть ли способ обхода решения? Спасибо – Sudeepthi
Хром сам делает большой обходной путь. –
Я мог успешно работать в Chrome FF и IE. Тестовый пример завершается неудачно только в Opera. Есть ли какая-нибудь работа, чтобы управлять тестовым случаем и в Opera. Не могли бы вы рассказать о том, что вы подразумеваете под словом «Chrome сам по себе является отличным решением». @Florent B. – Sudeepthi