Automated tests for Java Swing GUIs有哪些选项可以为用Java Swing编写的GUI构建自动化测试? 我想测试一些使用NetBeans Swing GUI生成器编写的GUI,因此理想的方法是不需要对被测代码进行特殊篡改的工作。 最近,我遇到了FEST,它看起来很有希望,只是开发人员在2012年宣布开发不会继续。 AssertJ是FEST的一个分支,对我来说效果很好。它被积极地维护(在撰写本文时),支持Java 8,具有针对一些流行的库(例如Guava和Joda Time)的声明,并且文档齐全。它也是免费和开放的。 我目前正在使用FEST。它可与JUnit一起使用,还将获取失败测试的屏幕截图。 它具有默认的组件搜寻方法,这些方法查找要测试的组件的名称(需要手动设置),但是您也可以通过将给定的组件传递给该组件来生成测试器。 您可以尝试使用Cucumber和Swinger用普通的英语编写针对Swing GUI应用程序的功能接受测试。 Swinger在后台使用Netbeans的Jemmy库来驱动该应用程序。 黄瓜允许您编写如下测试:
观看此Swinger视频演示以实际操作。 我们正在考虑自动化一些GUI测试。看起来很有希望。
我使用 优点:
缺点:
现在,如果您有预算,我将选择LoadRunner。班上最好。 (披露:与拥有LR的公司的关系,但是在建立关系之前我曾与LR合作) 我们正在使用QF-Test,对此感到非常满意。 我没有亲自使用它,但是SwingUnit看起来还不错。您可以将其与jUnit一起使用,它并不基于"组件的位置"(即x和y坐标)。 使用NetBeans GUI Builder可能要做的唯一一件事就是为组件设置唯一的名称。
您可以使用Marathon: 您可以尝试ReTest,这是一种新颖的工具,可实现功能回归测试的创新方法,并将其与基于AI的猴子测试相结合。它也将成为开源... 免责声明:我是ReTest背后公司的创始人之一。
Sikuli:使用屏幕截图的GUI测试人员 对于那些有冒险精神的人,可以使用gooey https://github.com/robertoaflores/Gooey(一种非常基础的和开发不足的)用于摆动应用程序的程序测试工具。 您可以使用sikuli或Automa来测试您的GUI部件,这些都是经过充分记录和测试的工具 只是做了一些快速扫描。挤压是最有前途的。虽然不是免费的 |