Тест должен открывать страницу 1. Верифицировать эл. Кликать по нему. Переходить в новый, открытый таб (страница 2). Верифицировать страницу и элементы там. …
Из того, что я понял. После перехода в новый таб драйвер игнорирует текущий открытый перед монитором таб и продолжает работу с первым табом в браузере.
Unity.class (тестовый)
public
        void NSIValidationTest (String nsiName) //nsiName - названия справочников в НСИ
        {
            Login objLogin = new Login(driver);
            objLogin.loginToSMTP(USER_NAME,
                                 PASSWRD);
            NSIValidation objNSI = new NSIValidation(driver);
            objNSI.nsiAssert();
            try {
                assertEquals(nsiList.contains(nsiName),
                             true);
            } catch (Exception e) {
                logger.error("NSI ERROR", e);
                throw (e);
            }
        }
public static
        void tab2(WebDriver driver)
        {
            new Actions(driver).sendKeys(Keys.CONTROL)
                               .sendKeys(Keys.NUMPAD2)
                               .build().perform();
        }
NSIValidation.class (инициализация всяких штук)
public
        void nsiAssert ()
        {
                new WebDriverWait(driver, 10)
                        .until(ExpectedConditions.textToBePresentInElement(strNSI, "НСИ"));
                strNSI.click();
                System.out.println("Кликнул по НСИ");
                Unity.tab2(driver);
                System.out.println("Перешел на таб 2");
            try {
                new WebDriverWait(driver, 10)
                        .until(ExpectedConditions.visibilityOf(strNSIPageTitle));
                System.out.println(strNSIPageTitle.getText());
                String nsiPageTitle = strNSIPageTitle.getText();
                System.out.println("Получил текст с тайтла НСИ");
                assertEquals(nsiPageTitle, NSI_EXPECT_TITLE);
                System.out.println("Сравнил тайтл с ожидаемым");
            } catch (Exception e) {
                logger.error("NSI PAGE VERIFICATION ERROR", e);
//                throw (e);
            }
        }
Лог:
[NSIValidation] [ERROR] NSI PAGE VERIFICATION ERROR
org.openqa.selenium.TimeoutException: Expected condition failed: waiting for visibility of Proxy element for: DefaultElementLocator 'By.xpath: /html[@class='k-webkit k-webkit60']/body/div[@id='vw-body-container']/div[@class='row'][1]/div[@class='pull-left']/h3[@id='headTitle']' (tried for 10 second(s) with 500 MILLISECONDS interval)
Caused by: org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"/html[@class='k-webkit k-webkit60']/body/div[@id='vw-body-container']/div[@class='row'][1]/div[@class='pull-left']/h3[@id='headTitle']"}
Я так понимаю проблема в методе переключения. Есть еще какие-то варианты кроме громоздких методов “якорей”? (Референс: WebDriver features: Робота с несколькими окнами (вкладками) одновременно при помощи Selenium Web Driver)
Или нужно что-то вроде инициализации драйвера для нового таба?