web-dev-qa-db-ja.com

Java Swing GUIの自動テスト

Java Swing?

NetBeans Swing GUI Builder を使用して記述されたいくつかのGUIをテストしたいので、テスト対象のコードを特別に改ざんすることなく機能するものが理想的です。

65
pauldoo

最近、有望なFESTに出会いましたが、開発者 2012年に開発が継続されないことを発表しました を除きます。

AssertJ は、私にとって非常にうまく機能しているFESTのフォークです。 (執筆時点で)積極的に維持され、Java 8をサポートしています。GuavaやJoda Timeなどのいくつかの一般的なライブラリに対するアサーションがあり、非常によく文書化されています。 。

31
Jwest08

現在、 [〜#〜] fest [〜#〜] を使用しています。 JUnitで動作し、失敗したテストのスクリーンショットも取得します。

テスト対象のコンポーネントの名前を検索するデフォルトのコンポーネントハンティングメソッドがあります(手動で設定する必要があります)が、コンポーネントを渡すことで特定のコンポーネントのテスターを生成することもできます。

26
deterb

Swing GUIアプリケーションの機能受け入れテストを英語で書くために Cucumber および Swinger を使用することができます。 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 動作を確認してください。

14
Dema

GUIテストの一部を自動化するために jemmy を検討しています。有望に見えます。

9
Jayan

私が使う Java.awt.Robot。ニースではなく、簡単ではありませんが、毎回動作します。

長所:

  • あなたがコントロールしている
  • とても早い
  • 独自のFWKを構築する
  • ポータブル
  • 外部依存関係なし

短所:

  • テストをビルドするための素敵なGUIはありません
  • テスト中はGUIをそのままにしておく必要があります
  • 独自のFWKを構築する
  • テストコードの変更と最初のハーネスの作成が困難

予算があれば、LoadRunnerに行きます。クラスの一番。

(開示:LRを所有する会社との関係ですが、私は関係の前にLRと協力しました)

8
Javaxpert

私は個人的に使用していませんが、 SwingUnit は非常に良さそうです。 jUnitで使用できますが、「コンポーネントの位置」(x座標とy座標)に基づいていません。

NetBeans GUIビルダーで行う必要がある唯一のことは、コンポーネントに一意の名前を設定することです。

6
user7094

QF-Test を使用しており、非常に満足しています。

6
ahu

ISpec4J は非常にシンプルで、肥大化せず、拡張可能です。 FESTよりも私の目的に合っています。

6
Domchi

Marathon を使用できます: "Marathon Integrated Testing Environment、MarathonITEは、手頃な価格で使いやすく、クロス-プラットフォームJava/Swing™GUIテスト自動化フレームワークMarathonITEに組み込まれたスクリプトレコーダーを使用して、PythonまたはRuby。抽出メソッドリファクタリング、作成などの高度な機能-データ駆動型テストとオブジェクトマップ編集により、保守可能で回復力のあるテストスイートを作成できます。」

4
Hashan

ReTest を試すことができます。これは、機能回帰テストへの革新的なアプローチを実装し、それをaiベースのサルテストと組み合わせた新しいツールです。同様にオープンソースになりそうです...

免責事項:私はReTestの背後にある会社の創設者の一人です。

3
roesslerj

Sikuli:スクリーンショットを使用したGUIテスター http://sikuli.org/

3
Viktor Mellgren

冒険心のある人には、gooey https://github.com/robertoaflores/Gooey a(非常に基本的で開発中の)Swingアプリケーション用のプログラムによるテストツールがあります。

2
Roberto Flores

簡単なスキャンをいくつか行いました。 スキッシュ が最も有望でした。無料ではありませんが

1
amutter

sikuli または Automa を使用して、GUIパーツをテストできます。これらは十分に文書化され、テストされたツールです

1