ClassCastException при обновлении до Selenium 3.4

Мы используем QAF для автоматизации функциональных испытаний. Недавно мы обновили версию Селена с 3.3.1 до 3.4.0, и она начала выдавать следующую ошибку в некоторых местах.

Caused by: java.lang.ClassCastException: org.openqa.selenium.remote.RemoteWebElement cannot be cast to com.qmetry.qaf.automation.ui.webdriver.QAFExtendedWebElement
at com.qmetry.qaf.automation.ui.webdriver.QAFExtendedWebDriver.findElementByCssSelector(QAFExtendedWebDriver.java:366)
at com.qmetry.qaf.automation.ui.webdriver.QAFExtendedWebDriver.findElementByCssSelector(QAFExtendedWebDriver.java:1)
at org.openqa.selenium.By$ByCssSelector.findElement(By.java:430)
at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:402)
at com.qmetry.qaf.automation.ui.webdriver.QAFExtendedWebDriver.findElement(QAFExtendedWebDriver.java:169)
at com.qmetry.qaf.automation.ui.webdriver.QAFExtendedWebDriver.findElement(QAFExtendedWebDriver.java:1)
at org.openqa.selenium.support.ui.ExpectedConditions.findElement(ExpectedConditions.java:895)
at org.openqa.selenium.support.ui.ExpectedConditions.access$000(ExpectedConditions.java:41)
at org.openqa.selenium.support.ui.ExpectedConditions$6.apply(ExpectedConditions.java:181)
at org.openqa.selenium.support.ui.ExpectedConditions$6.apply(ExpectedConditions.java:178)
at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:238)

По моим наблюдениям, он работает нормально, если у нас нет оператора driver.findBy(BY). в целях тестирования в одном месте я попробовал driver.findBy(String) вместо driver.findBy(BY), и он работал нормально. Но я не знаю, сколько мест команда использовала вышеописанным методом.

Ниже приведен тест, который воспроизводит ошибку:

@Test
    public void test1() {
        get("/");
        QAFExtendedWebDriver driver = getDriver();
        driver.findElement(By.name("q")).sendKeys("do something");
    }

Из-за этой проблемы мы должны вернуться к селеновой версии 3.3.1. Кто-нибудь может помочь?

1 ответ

Решение

Это из-за изменения видимости метода в одном из классов селена. Это может быть решено с помощью fix-4279 в следующей версии.

Это решается с помощью qaf-2.1.12-RC2

Другие вопросы по тегам