2

我需要测试一个使用 Swing GUI 界面的应用程序。我有一个客户端/服务器设计,想要模拟客户端输入(来自客户端的界面)并检索服务器响应。

到目前为止,我已经研究了 JDK 7 的 jfcUnit 和 UISpec4J,并在 NetBeans 下使用。尝试使用 jfcUnit(使用 NamedComponentFinder)从窗口实例中查找命名组件没有返回任何内容,示例来自登录屏幕示例下的此处。我假设名称是它在类中的字符串变量名。

我用于搜索给出空列表结果的客户端“连接”按钮的测试方法如下,其中 gui 是客户端 gui 类(遵循上面登录示例的其余部分):

 @Test
    public void testConnectVisible () {
        NamedComponentFinder finder = new NamedComponentFinder(JComponent.class, "connectBtn" );
        List allItems = finder.findAll(gui);
        System.out.println(allItems.toString());
    }

另一个是 UISpec4J,虽然我找不到与 JDK 7 兼容的 .jar。它的文档更完整,也更合适。

有谁知道 JDK 7 下合适的 GUI 测试框架,或者 JDK 7 的 UISpec4J/jfcUnit 的工作示例?我需要一些在客户端模拟基于事件的触发的方法。

编辑我还想模拟多个客户端,这需要一个在一个测试实例中支持多个客户端窗口的测试框架。

非常感谢 :)

4

1 回答 1

0

一般来说,最好不要在 GUI 中进行太多测试。您的 GUI 代码中应该完全没有业务逻辑。您的所有 GUI 代码都应该只调用业务层中的代码。

业务层中的代码很容易使用正常的单元测试进行测试。这将使您的 GUI 测试数量尽可能少。

说了这么多,多年前我使用了一个名为Abbot的框架,听起来就像你需要的一样。我刚刚检查了他们的网站,它说它应该适用于 Java 7 并针对 Java 6 进行了测试。

于 2014-01-10T02:47:40.530 回答