74

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

我想测试一些使用NetBeans Swing GUI Builder编写的 GUI ,因此不需要对被测代码进行特殊篡改的工作将是理想的。

4

13 回答 13

33

最近我遇到了看起来很有希望的 FEST,只是开发商在 2012 年宣布不会继续开发

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

于 2015-09-24T21:15:13.367 回答
26

我目前正在使用FEST。它可以与 JUnit 一起使用,并且还会截取失败测试的屏幕截图。

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

于 2008-09-18T11:15:26.840 回答
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 视频演示,看看它的实际效果。

于 2009-06-16T11:56:53.580 回答
9

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

于 2010-04-24T12:45:46.917 回答
8

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

优点:

  • 你在掌控之中
  • 非常快
  • 构建自己的 FWK
  • 便携的
  • 没有外部依赖

缺点:

  • 没有很好的 GUI 来构建测试
  • 测试时必须不理会 GUI
  • 构建自己的 FWK
  • 难以更改测试代码并创建您的第一个工具

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

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

于 2008-09-18T13:20:09.723 回答
7

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

于 2008-09-18T11:39:07.873 回答
6

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

您可能需要对 NetBeans GUI Builder 做的唯一事情就是为您的组件设置唯一的名称。

于 2008-09-18T10:25:12.683 回答
4

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

于 2013-01-04T09:49:16.830 回答
3

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

于 2012-06-28T07:09:27.657 回答
3

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

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

于 2017-03-04T22:22:42.940 回答
2

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

于 2016-01-29T16:45:06.660 回答
1

只是做了一些快速扫描。Squish是最有前途的。虽然不是免费的

于 2014-10-21T19:30:06.633 回答
1

您可以使用sikuliAutoma来测试您的 GUI 部分,这些都是有据可查和经过测试的工具

于 2017-03-03T11:16:55.110 回答