Appium Pagefactory 从 POM 运行时抛出 noSuchMethodException

Posted

技术标签:

【中文标题】Appium Pagefactory 从 POM 运行时抛出 noSuchMethodException【英文标题】:Appium Pagefactory throws noSuchMethodException when running from POM 【发布时间】:2021-06-30 21:34:30 【问题描述】:

当我尝试在 pom 文件上运行我的 appium 脚本时(使用 mvn verify 或 mvn test)

我得到一个

java.lang.RuntimeException: java.lang.NoSuchMethodException: jdk.proxy2.$Proxy12.proxyClassLookup()

在实例化我的定位器的那一行:

PageFactory.initElements(new AppiumFieldDecorator(driver, Duration.ofSeconds(15)), this);

当我直接从 InteliJ 运行测试或运行 testng.xml 文件时,测试成功

完整的 pom.xml:https://pastebin.com/V0FbehMh 完整的错误堆栈跟踪:https://pastebin.com/11TvTq7a testng.xml:https://pastebin.com/8XZtCfRt 相关类:https://pastebin.com/ynFizC9T

可能是什么问题,从测试类/testng.xml 运行一切正常,但在命令行中使用 maven 运行时突然失败

【问题讨论】:

【参考方案1】:

有点尴尬,(因为我记得我以前做过) 在做了一个 mvn clean 和一个 mvn compile 之后,

然后问题就消失了。有些东西可能卡在某个地方,需要再次清理..

【讨论】:

以上是关于Appium Pagefactory 从 POM 运行时抛出 noSuchMethodException的主要内容,如果未能解决你的问题,请参考以下文章

Appium - 在 PageFactory 获取 java.lang.RuntimeException: java.lang.NoSuchMethodException: jdk.proxy2.$P

Java Appium PageFactory initElements 中的 java.lang.IllegalArgumentException @$Proxy21 错误

AndroidPageObjectTest_TimeOutManagement.java

AndroidPageObjectTest_Simple.java

AndroidPageObjectTest_ByAllPossible.java

转在Python中实现PageFactory模式