Windowsフォームのテストを自動化する方法はありますか?
-
09-06-2019 - |
質問
私はビジネス層の単体テストのnunitに精通していますが、今ではwinフォームgui層のテストを自動化することを検討しています。
watin と、コントロールにアクセスして自動化することでWebアプリケーションのテストを自動化するwatinレコーダーを見ました。ただし、できればオープンソースであるWindowsフォーム(c#またはvb.netで記述された)に相当するwatinを見つけるのに苦労しています。
1つは存在しますか、またはすべての製品はマウスとキーボードの押下を記録することに基づいていますか?
更新:この白のブログ投稿で、私が探しているもののようです。ブログの投稿にはいくつかの問題がありますが、白はバージョン0.6にあるため、これらは解決される可能性があります。他の人が比較のために白または他の人を使用している場合は興味があります。
解決
http://www.codeplex.com/white および http://nunitforms.sourceforge.net/ 。 Whiteプロジェクトを使用して成功しました。
前の質問と同じ回答
編集
Whiteプロジェクトが移動し、TestStackの一部として GitHub に配置されました。
他のヒント
AutomatedQAのTestComplete は、GUIテストを自動化するための優れたテストアプリケーションです。 Windows Formsだけでなく、他のアプリケーションにも再利用できます。それはオープンソースではなく、これが私が見つけた最高のものです。 WatiNに相当するオープンソースは見たことがありません。あなたはそれが好きかどうかあなたが決めるので、無料トライアルがあります。私がそれを使った主な理由は、他のテストアプリケーションと比較して、本当に費用対効果が高いことです。
新しい代替手段として、FlaUI( https://github.com/Roemer/FlaUI )。基本的に、より多くの機能ときれいなコードベースを備えた白の完全な書き直しです。
私が知る限り、ホワイトは、Microsoftの UIオートメーションフレームワーク。プロジェクトで内部的に使用する同様のレイヤーを作成しましたが、うまく機能します。だから、ホワイトは一見の価値があります
MicrosoftはソースをUIオートメーションにリリースしているため、必要に応じて、必要に応じてスタック全体をデバッグできます。
本当に素晴らしいのは、ライセンスコストがあれば、実行に必要な数のマシンをスケールアップして実行できることです。
VSTS内で実行し、結果を要件にリンクしますが、c#expressとnUnitを使用して、ほとんどまたはまったく費用をかけずにファーストクラスのツールと言語を取得できます。
Microsoft UI Automation フレームワーク。これは、バージョン3.0以降の.NETに含まれています。これは、実際にはホワイトフレームワークが使用しているものです。
コード化されたUI 、Visual Studioの組み込み機能およびUIオートメーションの一部:
ユーザーインターフェイスを介してアプリケーションを実行する自動テスト (UI)は、コード化されたUIテスト(CUIT)として知られています。これらのテストには以下が含まれます UIコントロールの機能テスト。彼らはあなたが ユーザーインターフェイスを含むアプリケーション全体が機能している 正しく。コード化されたUIテストは、特に ユーザーインターフェイス(Webなど)の検証またはその他のロジック ページ。既存のマニュアルを自動化するためにも頻繁に使用されます テスト。
[...]典型的な開発 経験は、最初は単にあなたが アプリケーション(F5)およびUIコントロールをクリックして、 物事は正しく機能しています。次に、コード化された アプリケーションをテストし続ける必要がないようにテストする 手動で。でテストされている特定の機能に応じて アプリケーションでは、機能テスト用のコードを作成するか、 でのテストを含む場合と含まない場合がある統合テストの場合 UIレベル。単にビジネスロジックに直接アクセスしたい場合は、 単体テストをコーディングできます。ただし、特定の状況では、 さまざまなUIコントロールのテストを含めることは有益です あなたの申請。コード化されたUIテストは、初期化を自動化できます(F5) シナリオ、コードチャーンが機能に影響しないことを確認する アプリケーションの
詳細: https://docs.microsoft.com/en-us/visualstudio/test/use-ui-automation-to-test-your-code