Java Swing GUI的自动化测试

为使用Java Swing编写的GUI构建自动化测试,有哪些选择?

我想测试一些使用NetBeans Swing GUI Builder编写的图形用户界面,因此无需特殊篡改被测代码即可正常工作。


最近我遇到了FEST,看起来很有希望,除了开发者在2012年宣布开发不会继续。

AssertJ是FEST的一个分支,对我来说工作得非常好。 它被积极地维护(在撰写本文时),支持Java 8,对几个流行的库如Guava和Joda Time有断言,并且有很好的文档记录。 它也是免费的,开放的。


我目前正在使用FEST。 它可以与JUnit一起使用,也可以截取失败的测试。

它具有默认的组件查找方法,用于查找被测组件的名称(需要手动设置),但也可以通过将组件传递给给定组件来生成测试器。


您可以尝试使用Cucumber和Swinger以纯英语为Swing GUI应用程序编写功能验收测试。 Swinger使用引擎盖下的Netbeans Jemmy库来驱动应用程序。

黄瓜允许你写这样的测试:

 Scenario: Dialog manipulation
    Given the frame "SwingSet" is visible
      And the frame "SwingSet" is the container
    When I click the menu "File/About"
    Then I should see the dialog "About Swing!"
    Given the dialog "About Swing!" is the container
    When I click the button "OK"
    Then I should not see the dialog "About Swing!"

看看这个Swinger视频演示,看看它在行动。

链接地址: http://www.djcxy.com/p/62653.html

上一篇: Automated tests for Java Swing GUIs

下一篇: Difference between HTTP(s) Reverse Proxy, TCP Proxy, Socks5 Proxy?