java - Selenium 和 Java 的 org.apache.bcel.verifier.exc.AssertionViolatedException.main(AssertionViolatedException.java:102) 错误
问题描述
我正在尝试编写一个自动化测试并且代码成功编译但是当我尝试将它作为“Java 应用程序”执行时,我收到一个AssertionViolatedException
错误并且代码不会执行。
我已经尝试过:
更改
sendKeys("string")
为sendKeys(new String[] {"string"})
.执行应用程序:“运行为:JAVA APPLICATION”
在构建路径中设置 jre 环境。
我收到的错误消息是:
Exception in thread "main" org.apache.bcel.verifier.exc.AssertionViolatedException:
FOUND:
INTERNAL ERROR: Oops!
Exiting!!
at org.apache.bcel.verifier.exc.AssertionViolatedException.main(AssertionViolatedException.java:102)
解决方案
此错误消息...
Exception in thread "main" org.apache.bcel.verifier.exc.AssertionViolatedException:
FOUND:
INTERNAL ERROR: Oops!
Exiting!!
at org.apache.bcel.verifier.exc.AssertionViolatedException.main(AssertionViolatedException.java:102)
...暗示有一个RuntimeException永远不应该被抛出,并且根据文档,由于INTERNAL ERROR
BCEL 的类文件验证器而抛出了这样的异常JustIce
。
此异常和错误定义为:
public static void main(String[] args){
AssertionViolatedException ave = new AssertionViolatedException("Oops!");
ave.extendMessage("\nFOUND:\n\t","\nExiting!!\n");
throw ave;
}
您的代码试验将帮助我们以更好的方式调试问题。但是,当 BCEl 尝试验证字节码修改并失败时,会引发此异常。大概您正在使用一些使用 BCEL 来修改 Java 编译器生成的字节码的 jar(s)/工具。如果您使用 BCEL 作为您需要调试的要求,为什么它会中断。如果您不使用 BCEL 作为要求,则可以尝试以下任一步骤:
通过您的IDE ( > > > )清理您的项目工作区,并仅使用所需的依赖项重建您的项目。
Project
Clean...
Clean all projects
OK
在调用方法之前添加WebDriverWait
sendKeys()
如下:new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("button.nsg-button")))sendKeys("string");
- 创建一个新的新项目,仅使用所需的依赖项重建您的项目并执行您的测试。
推荐阅读
- typescript - Jest 是否有类似 mockito 框架测试中的“何时”的方法?
- php - 使用 PHP SoapClient 调用 FreightQuote API
- css - Ngx-datatable 标题单元格文本未垂直对齐
- excel-2007 - 转置并复制到行到列
- git - 如何在不失去 +2 票的情况下一次重新调整 Gerrit 审查的所有提交?
- django - 如何通过过滤相关对象来过滤对象
- java - 为什么我应该使用try-catch?
- android - 我需要在一个按钮上添加多个活动
- mfc - MFC - 在孩子中:当父母收到 WM_ACTIVATE 消息时得到通知
- caching - 如何将数据添加到服务工作者中的 IndexedDb,这些数据作为来自 api 的 http 响应