Java Swing GUI的自动化测试

时间:2008-09-18 09:25:09

标签: java swing testing automated-tests

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

我想测试一些使用NetBeans Swing GUI Builder编写的GUI,因此无需对待测代码进行特殊篡改即可正常工作。

14 个答案:

答案 0 :(得分:31)

最近我遇到了FEST,除了开发人员announced in 2012 that development would not continue

之外,它似乎很有希望

AssertJ是FEST的一个分支,对我来说效果很好。它是积极维护的(在编写本文时),支持Java 8,对Guava和Joda Time等一些流行的库有断言,并且有很好的文档记录。它也是免费和开放的。

答案 1 :(得分:26)

我目前正在使用FEST。它适用于JUnit,还将获取失败测试的屏幕截图。

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

答案 2 :(得分:14)

您可以尝试使用CucumberSwinger以简单的英语为Swing GUI应用程序编写功能验收测试。 Swinger使用Netbeans的Jemmy库驱动应用程序。

Cucumber允许你编写这样的测试:

 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 video demo以查看其实际效果。

答案 3 :(得分:9)

我们正在考虑jemmy自动化一些GUI测试。看起来很有希望。

答案 4 :(得分:8)

我使用java.awt.Robot。不好,不容易,但每次都有效。

优点:

  • 你掌控着
  • 非常快
  • 建立自己的FWK
  • 便携式
  • 没有外部依赖

缺点:

  • 没有很好的GUI来构建测试
  • 测试时必须单独使用GUI
  • 建立自己的FWK
  • 难以更改测试代码并创建第一个线束

现在,如果您有预算,我会选择LoadRunner。最好的。

(披露:与拥有LR的公司的关系,但我在关系之前与LR一起工作)

答案 5 :(得分:6)

我个人没有使用它,但SwingUnit看起来很不错。您可以将它与jUnit一起使用,它不是基于“组件的位置”(即x和y坐标)。

您可能只需要为NetBeans GUI Builder设置组件的唯一名称。

答案 6 :(得分:6)

我们正在使用QF-Test并且非常满意。

答案 7 :(得分:6)

UISpec4J非常简单,没有浮动和可扩展。它比FEST更符合我的目的。

答案 8 :(得分:3)

Sikuli:使用屏幕截图的GUI测试人员 http://sikuli.org/

答案 9 :(得分:3)

您可以使用Marathon: “马拉松综合测试环境,MarathonITE,是一个经济实惠,易于使用且跨平台的Java / Swing™GUI测试自动化框架。您可以使用MarathonITE的内置脚本记录器以Python或者Python创建干净,可读的测试脚本Ruby。提取方法重构,创建数据驱动测试和对象图编辑等高级功能允许您创建可维护的,有弹性的测试套件。“

答案 10 :(得分:3)

您可以尝试ReTest,这是一种新颖的工具,可实现功能回归测试的创新方法,并将其与基于ai的猴子测试相结合。它即将成为开源......

免责声明:我是ReTest背后公司的创始人之一。

答案 11 :(得分:2)

对于那些有冒险精神的人来说,有一个用于摇摆应用的粘性https://github.com/robertoaflores/Gooey a(非常基础和开发不足)的程序化测试工具。

答案 12 :(得分:1)

刚做了一些快速扫描。 Squish是最有希望的。不是免费的

答案 13 :(得分:1)

您可以使用sikuliAutoma来测试您的GUI部件,这些都是经过充分记录和测试的工具