当前位置: 首页 > 知识库问答 >
问题:

ClassCastException更新到Selenium 3.4时出现异常

支华池
2023-03-14

我们正在使用QAF进行功能测试自动化。我们最近从3.3升级了selenium版本。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");
    }

由于这个问题,我们必须回到selenium版本3.3。有人能帮忙吗?

共有1个答案

霍浩皛
2023-03-14

这是因为其中一个selenium类中的方法可见性发生了变化。它可能在下一版本中由fix-4279解决。

这是通过qaf-2.1解决的。12-RC2

 类似资料:
  • 我正在做linux eclipse。 我已经按照维基提供的步骤更新了代码。 1º我创建了一个新的eclipse项目。2º我运行hello world,它运行正常。3:我把旧代码放在类和资源上。4ºI更新appdelegate。cpp。h、 还有jni/Android。新文件的mk。5º编译正确。 6°从日食中笑我得到以下例外: 有点不对劲,但我不知道发生了什么。 同样的代码适用于xcode项目 我

  • 尝试模拟Querydsl的SQLQueryFactory进行DAO单元测试。第一次使用Mockito的深存根。下面是失败的最小代码 有以下例外: java.lang.ClassCastException:类com . query DSL . SQL . projectablesql query $ mockito mock $ 1584151766不能转换为类com . query DSL . S

  • 我有一个表,我想用另一个表中的值更新该表,我正在使用以下代码: 尽管事实上,表。id是tableA的主键,我不断得到以下错误: 错误代码:1175。您使用的是安全更新模式,并且您试图更新一个没有使用键列禁用安全模式的表,请在“首选项”中切换该选项- 我做错了什么?

  • 我编写了一个示例Java客户端代码来连接到APNs服务器向我的设备发送推送通知。它在与APNs服务器的安全连接中失败了。有人能帮帮我吗?代码如下: 它在行处失败,出现以下错误:javax.net.ssl.sslhandShakeException:sun.security.validator.validatoreXception:在sun.security.ssl.alerts.getsslExc

  • 问题内容: 我正在使用ant生成javadocs,但是一遍又一遍地获取此异常-为什么? 我正在使用JDK 1.6.0_06 版本。 问题答案: 看来这已被报告为Java错误。这似乎是由于使用了第三方库(例如JUnit)中的注释,而在Javadoc调用中不包含带有该注释的jar。 如果是这种情况,只需在javadoc上使用-classpath选项并包括额外的jar文件。

  • 在更新我的android应用程序时,我更新了所有的依赖项。当我测试发布版本时,我收到以下错误: 任何帮助都将不胜感激。