java - assertJ findFrame() 失败并出现 NoClassDefFoundError

标签 java gui-testing assertj

我正在尝试将assertJ-swing 集成到没有Maven 的NetBeans 项目中。所以我从http://repo1.maven.org/maven2/org/assertj/assertj-swing/3.8.0/下载了assertj-swing-3.8.0.jar并将其作为库添加到 NetBeans 中。

在测试 main() 中,我使用以下命令执行我的应用程序:

org.assertj.swing.launcher.ApplicationLauncher.application(STInt_Client.class).start();

并且应用程序正确启动。应用程序弹出 2 个 JDialog 框,在两者上按 OK 后,它会创建一个新的 JFrame 并对其调用 setVisible(true)

在我的测试中,我想以编程方式定位该框架,所以我这样做:

FrameFixture chooseModeFrame = findFrame("Frame_ChooseMode").withTimeout(10000).using(robot());

Frame_ChooseMode 是 JFrame 类的名称。但这行抛出异常:

Exception in thread "main" java.lang.NoClassDefFoundError: org/assertj/core/util/Preconditions
    at org.assertj.swing.core.NameMatcher.<init>(NameMatcher.java:83)
    at org.assertj.swing.finder.ComponentFinderTemplate.<init>(ComponentFinderTemplate.java:57)
    at org.assertj.swing.finder.WindowFinderTemplate.<init>(WindowFinderTemplate.java:42)
    at org.assertj.swing.finder.FrameFinder.<init>(FrameFinder.java:40)
    at org.assertj.swing.finder.WindowFinder.findFrame(WindowFinder.java:85)
    at com.stinternational.client.test.Test_GUI.main(Test_GUI.java:107)

Test_GUID.java:107 是我对 findFrame() 的调用。知道为什么抛出这个异常吗?预先感谢您。

最佳答案

我丢失了assertj core utils jar 文件。必须从here下载assertj-core-3.10.0.jar文件并在项目中引用它。

关于java - assertJ findFrame() 失败并出现 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51298204/

相关文章:

java - 使用 Gson 序列化一个 POJO

android - 没有连接到授权服务器。 eclipse 的 Testdroid 插件

java - 将 FEST-Swing 与 Java applet 结合使用

functional-testing - 为什么编码的 UI 测试很重要?

java - 如何使用JavaFX在标签中的imageview周围放置文本

java - 在 Java 中检测多个连接的设备

java - 为什么 System.getProperty ("line.seperator") 返回 null?

java - 让assertj打印特殊字符?

java - 可选列表中的 AssertJ

java - AssertJ 断言原因消息