Перейти к содержимому

Фотография

Сделать окно активным (Selenium Webdriver)


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 Neifmetus

Neifmetus

    Новый участник

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Екатерина


Отправлено 08 апреля 2013 - 09:52

При тестировании веб-страницы, после клика на некоторый элемент появляется окно диалога. После того, как оно закрывается, то окно WebDriver по-видимому остается неактивным. Как можно сделать его активным?
  • 0

#2 achumagin

achumagin

    Активный участник

  • Members
  • PipPip
  • 145 сообщений
  • ФИО:Alexey Chumagin
  • Город:Казань

Отправлено 08 апреля 2013 - 11:59

Нужно переключиться обратно в окно, используя, метод WebDriver.SwitchTo().DefaultContent() или WebDriver.SwitchTo().Window()
  • 0
ap-test-team.blogspot.com

#3 Boltick

Boltick

    Специалист

  • Members
  • PipPipPipPipPip
  • 596 сообщений
  • ФИО:Алексей
  • Город:планета Земля

Отправлено 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);

  • 0
Алексей Булат
Про Тестинг

#4 owasp

owasp

    Активный участник

  • Members
  • PipPip
  • 87 сообщений

Отправлено 08 апреля 2013 - 20:43

В своих тестах при закрытии поледнего открытого окна возвращаюсь на последний элемент списка окон.
В примете кода, приведённого выше:
String handle = webDriver.getWindowHandle();
webDriver.switchTo().window(handle);
В первой строке, получаю не текущее окно, а весь список окон (их ведь может быть несколько):
handleList = webDriver.getWindowHandles();
Проверяю, что список непуст. Получаю последний элемент списка. Переключаюсь на последний элемент списка.
В C# это делается с помощью Linq, последняя строка получается методом Last().
  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных