Java Swing?
NetBeans Swing GUI Builder を使用して記述されたいくつかのGUIをテストしたいので、テスト対象のコードを特別に改ざんすることなく機能するものが理想的です。
最近、有望なFESTに出会いましたが、開発者 2012年に開発が継続されないことを発表しました を除きます。
AssertJ は、私にとって非常にうまく機能しているFESTのフォークです。 (執筆時点で)積極的に維持され、Java 8をサポートしています。GuavaやJoda Timeなどのいくつかの一般的なライブラリに対するアサーションがあり、非常によく文書化されています。 。
現在、 [〜#〜] fest [〜#〜] を使用しています。 JUnitで動作し、失敗したテストのスクリーンショットも取得します。
テスト対象のコンポーネントの名前を検索するデフォルトのコンポーネントハンティングメソッドがあります(手動で設定する必要があります)が、コンポーネントを渡すことで特定のコンポーネントのテスターを生成することもできます。
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 動作を確認してください。
GUIテストの一部を自動化するために jemmy を検討しています。有望に見えます。
私が使う Java.awt.Robot
。ニースではなく、簡単ではありませんが、毎回動作します。
長所:
短所:
予算があれば、LoadRunnerに行きます。クラスの一番。
(開示:LRを所有する会社との関係ですが、私は関係の前にLRと協力しました)
私は個人的に使用していませんが、 SwingUnit は非常に良さそうです。 jUnitで使用できますが、「コンポーネントの位置」(x座標とy座標)に基づいていません。
NetBeans GUIビルダーで行う必要がある唯一のことは、コンポーネントに一意の名前を設定することです。
QF-Test を使用しており、非常に満足しています。
ISpec4J は非常にシンプルで、肥大化せず、拡張可能です。 FESTよりも私の目的に合っています。
Marathon を使用できます: "Marathon Integrated Testing Environment、MarathonITEは、手頃な価格で使いやすく、クロス-プラットフォームJava/Swing™GUIテスト自動化フレームワークMarathonITEに組み込まれたスクリプトレコーダーを使用して、PythonまたはRuby。抽出メソッドリファクタリング、作成などの高度な機能-データ駆動型テストとオブジェクトマップ編集により、保守可能で回復力のあるテストスイートを作成できます。」
ReTest を試すことができます。これは、機能回帰テストへの革新的なアプローチを実装し、それをaiベースのサルテストと組み合わせた新しいツールです。同様にオープンソースになりそうです...
免責事項:私はReTestの背後にある会社の創設者の一人です。
Sikuli:スクリーンショットを使用したGUIテスター http://sikuli.org/
冒険心のある人には、gooey https://github.com/robertoaflores/Gooey a(非常に基本的で開発中の)Swingアプリケーション用のプログラムによるテストツールがあります。
簡単なスキャンをいくつか行いました。 スキッシュ が最も有望でした。無料ではありませんが