При тестировании веб-страницы, после клика на некоторый элемент появляется окно диалога. После того, как оно закрывается, то окно WebDriver по-видимому остается неактивным. Как можно сделать его активным?
Сделать окно активным (Selenium Webdriver)
Автор Neifmetus, 08 апр 2013 09:52
Сообщений в теме: 3
#1
Отправлено 08 апреля 2013 - 09:52
#2
Отправлено 08 апреля 2013 - 11:59
Нужно переключиться обратно в окно, используя, метод WebDriver.SwitchTo().DefaultContent() или WebDriver.SwitchTo().Window()
ap-test-team.blogspot.com
#3
Отправлено 08 апреля 2013 - 14:02
Нужно переключиться обратно в окно, используя, метод WebDriver.SwitchTo().DefaultContent() или WebDriver.SwitchTo().Window()
Если не ошибаюсь, то SwitchTo().DefaultContent() работает только в случае с ифреймами. SwitchTo().Window() сработает, если указать в какое именно окно надо переключиться. Поэтому могу порекомендовать где-то хранить handle активного окна: webDriver.getWindowHandle().
В Java будет все выглядеть примерно так:
String handle = webDriver.getWindowHandle(); webDriver.switchTo().window(handle);
Алексей Булат
Про Тестинг
Про Тестинг
#4
Отправлено 08 апреля 2013 - 20:43
В своих тестах при закрытии поледнего открытого окна возвращаюсь на последний элемент списка окон.
В примете кода, приведённого выше:
В C# это делается с помощью Linq, последняя строка получается методом Last().
В примете кода, приведённого выше:
String handle = webDriver.getWindowHandle(); webDriver.switchTo().window(handle);В первой строке, получаю не текущее окно, а весь список окон (их ведь может быть несколько):
handleList = webDriver.getWindowHandles();Проверяю, что список непуст. Получаю последний элемент списка. Переключаюсь на последний элемент списка.
В C# это делается с помощью Linq, последняя строка получается методом Last().
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных