Java Swingで記述されたGUIの自動テストを構築するためのオプションは何ですか?
NetBeans Swing GUI Builderを使用して作成されたいくつかのGUIをテストしたいので、テスト対象のコードを特別に改ざんすることなく機能するものが理想的です。
Java Swingで記述されたGUIの自動テストを構築するためのオプションは何ですか?
NetBeans Swing GUI Builderを使用して作成されたいくつかのGUIをテストしたいので、テスト対象のコードを特別に改ざんすることなく機能するものが理想的です。
最近、開発者が 2012 年に開発を継続しないと発表したことを除いて、有望に思われる FEST に出会いました。
AssertJは、私にとって非常にうまく機能している FEST のフォークです。これは (執筆時点で) 積極的に保守されており、Java 8 をサポートし、Guava や Joda Time などのいくつかの一般的なライブラリのアサーションがあり、非常によく文書化されています。また、無料でオープンです。
私は現在FESTを使用しています。JUnit で動作し、失敗したテストのスクリーンショットも取得します。
テスト対象のコンポーネントの名前を検索するデフォルトのコンポーネント ハンティング メソッド (手動で設定する必要があります) がありますが、コンポーネントに渡すことで、特定のコンポーネントのテスターを生成することもできます。
CucumberとSwingerを使用して、SwingGUIアプリケーションの機能的な受け入れテストを平易な英語で書くことができます。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ビデオデモを見て、実際の動作を確認してください。
GUIテストの一部を自動化するためにjemmyを検討 しています。有望に見えます。
私は使用しますjava.awt.Robot
。良くない、簡単ではありませんが、毎回うまくいきます。
長所:
短所:
予算があれば、LoadRunner を選びます。クラスの一番。
(開示: LR を所有する会社との関係ですが、関係の前に LR で働いていました)
私たちはQF-Testを使用しており、非常に満足しています。
個人的には使っていませんが、SwingUnitはかなり良さそうです。jUnit で使用でき、「コンポーネントの位置」(つまり、x 座標と y 座標) に基づいていません。
NetBeans GUI ビルダーで行う必要がある唯一のことは、コンポーネントに一意の名前を設定することです。
Marathonを使用できます:「Marathon統合テスト環境MarathonITEは、手頃な価格で使いやすく、クロスプラットフォームのJava /Swing™GUIテスト自動化フレームワークです。MarathonITEの組み込みスクリプトレコーダーを使用して、クリーンで読みやすいテストスクリプトを作成できます。 PythonまたはRubyで。extract-methodリファクタリング、create-datadriven-tests、オブジェクトマップ編集などの高度な機能により、保守可能で復元力のあるテストスイートを作成できます。」
Sikuli: スクリーンショットを使用した GUI テスター http://sikuli.org/
機能回帰テストへの革新的なアプローチを実装し、それを AI ベースのサル テストと組み合わせた新しいツールであるReTestを試すことができます。オープンソースにもなろうとしています...
免責事項: 私は ReTest の背後にある会社の創設者の 1 人です。
いくつかのクイックスキャンを実行しました。スキッシュが最も有望でした。無料じゃないけど