t.me/atinfo_chat Telegram группа по автоматизации тестирования

Пути переключения между окнами

Теги: #<Tag:0x00007f9b034ba078>

Всем Добрый день.
Разбираюсь тут с переходами между открытыми окнами в браузере, получается особо и не с чего выбирать:

  1. загонять окно в переменную с помощью driver.getWindowHandle(); и потом удалять её собрав весь лист с помощью driver.getWindowHandles();
  2. создавать 2 листа сначала с 1 окном, потом с другим, удаляя первый лист со второго, в итоге остается второе окно.
  3. создавать переменную или лист и через итератор прогнать (удаляя или перегоняя в другую переменную чтобы обозначить где какое окно)

Собственно одно и тоже только разные методы реализации. Или у вас другие варианты?

Решения описал, а задача-то какая?

вообще существующие пути переходов

((JavascriptExecutor) driver)
        .executeScript("window.open(arguments[0])", url); 

Самый надежный, можешь в метод обернуть.

открывает новые окно , можешь открыть сколько хочешь окон, не накаждом браузере это именно окно, на мозиле окно, в опере вкладка и прыгай по окнам делай что надо, в качестве url может быть и string как вариант, не забудь каждое окно пообзывать это обязательное требование и все… делай с окнами что надо

Получается перепрыгивать можно только зная url?
arguments[0] - это массив чего?

Это псевдо массив (у него кроме .length и формы записи нет ничего от массивов) переданных в функцию значений, в данном случае туда передается “url”.