Selenide. Открытие новой вкладки и переключение между ними

Подскажите пожалуйста. Selenide + Java

Пишу тест. но не работал с переключением вкладок.
План такой

Открыть первую вкладку
Некоторые операции в первой вкладке
Открыть вторую вкладку - как сделать ?
Некоторые операции во второй вкладке
Переключиться на первую вкладку - как сделать ?

Спасибо заранее !

1 лайк

open(“https://f.ee”); // открытие первой вкладки
… // действия с первой вкладкой
??? // открыть вторую вкладку (как ? )
… // действия со второй вкладкой
switchTo().window(0); // переключения на первую вкладку

Что ж сложного-то?
Вы уже почти сами написали ответ.

open(“[https://f.ee](https://f.ee/)”); // открытие первой вкладки
… // действия с первой вкладкой

switchTo().window(1); // открыть вторую вкладку
… // действия со второй вкладкой

switchTo().window(0); // переключения на первую вкладку

RTFT! selenide/TabsTest.java at main · selenide/selenide · GitHub

1 лайк

Подскажите что может быть не так и куда копать?
При нажатии на кнопку- открывается новая страница в новом окне, я на нее свичусь но при проверке элементов тест их не видит.

    @Test
    void goToNewPage() {
        Page page = new Page();
        page.goToNewPageButton.click();
        switchTo().window(1);
        NewPage newPage = new NewPage();    
        newPage.newPageButton.shouldBe(visible);
    }

Element not found {By.xpath: //button[@test-id=‘apply-btn’]}
Expected: visible

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

  1. наличие нескольких окон/iframe элементов и вы просто выбираете не то окно
  2. скрип не успевает отработать тк окн оне успевает открыться
  3. окно попросту не открывается

тк вы пишите на джаве, запустите просто тест в дебаг режиме и посмотрите, находятся ли элементы с одной страницы или с другой, попробуйте попереключаться на разные окна, но незабывайте что каждый раз надо сбрасывать окно switchTo.window(0), потому что переход будет переходить с текущего окна

Может потому что экземпляр NewPage создаётся после переключения на новую вкладку.

Других вариантов не вижу пока.

Я недавно тоже разбирался с работой вкладок и у меня все находилось

может кто подскажет в таком: есть страница “А” со списком, я на ней нажима кнопку предпросмотра одного из элементов, как следствие у меня открывается в новой вкладке страница “Б” предпросмотра этого элемента (и эта вкладка у меня становится как бы основной - я ее вижу), но при поиске элементов на ней (проверяю что я перешел на ту страницу что надо) постоянно получаю Element not found - такое ощущение что я ее вижу но она не активна. Если же после открытия этой новой страницы попробовать поискать элементы на той странице “А”, с которой открывал на предпросмотр элемент, и которая не видна, а видна страница “А” при этом, то элемент находится.

Закончились идеи, переключался по окнам туда сюда - визуально переключение видно, закрывал ту страницу с которой открывалась новая вкладка - вкладка оставалась одна, и т.п. такое ощущение что эта вкладка не активна (((