Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

Ошибка Element is not visible для FireFox

geckodriver
firefox
java
selenium
webdriver
Теги: #<Tag:0x00007fedb804ea40> #<Tag:0x00007fedb804e900> #<Tag:0x00007fedb804e7c0> #<Tag:0x00007fedb804e680> #<Tag:0x00007fedb804e540>

(Paul Manuilenko) #1

Доброго времени суток!
Использовал Chrome.
Когда решил прогнать те же тесы в FF один тест не проходит…

Тест заключается в открытии Google переводчика, заполнении поля ввода символами до предела +1 (или немногим больше) и проверкой счетчика символов на соответствие лимиту.

После провала в FF я попытался добавить скролинг, что бы счетчик был виден. Скролинг добавлял до ввода символа и после и одновременно оба варианта.

Пробовал добавить явное ожидание на счетчик, но скорее всего драйвер не может “увидеть” поле ввода…
Однако поле ввода видно постоянно + есть скроллинг.

Прошу вашей помощи / совета.

    @BeforeClass
    public void preparationOfTheTestSuiteToRun() throws MalformedURLException {
        translator = new TranslatorPage(driver = BasePage.getTheDriver(5));
    }

    @AfterClass(enabled = false)
    public void finishRunningTheTestSuite() {
        driver.manage().deleteAllCookies();
        driver.quit();
    }


    @Test(enabled = true)
    public void testingCharacterCounterAndMaxLimit() {
        translator.openThePage();
        assertTrue(translator.characterCounterState() == 0);
        translator.enterATextForTranslation("a");
        assertTrue(translator.characterCounterState() == 1);
        for (int i = 0; i < 97; i++) {//Flood up to limit
            translator.scrollIntoViewOfCharacterCounter();
            translator.enterATextForTranslation("a a a a a a a a a a a a a a a a a a a a a a a a a a ");
            translator.scrollIntoViewOfCharacterCounter();
        }
        assertTrue(translator.characterCounterState() == 5000);
    }

    public void enterATextForTranslation(String text) {
        WebDriverWait wait = new WebDriverWait(driver, 5);
        WebElement element = wait.until(ExpectedConditions.visibilityOf(textField));
        element.sendKeys(text);
    }

    public void scrollIntoViewOfCharacterCounter() {
        JavascriptExecutor js = (JavascriptExecutor)driver;
        js.executeScript("document.getElementById('gt-src-cc-ctr').scrollIntoView(true);");
    }

Логи и ошибка вот такая: org.openqa.selenium.ElementNotInteractableException: Element is not visible
Валиться всегда на 2341/5000
Замечаю, что в FF скрол прыгает вверх и вниз, в Chrome токго не наблюдается.

Версии ОС и софта:
Windows 10 pro x64
geckodriver 0.19.0
FireFox 56.0 (64-bit)