WPF で UI オートメーションを行う方法を教えてくれる人はいますか? グリッドの動作を確認したい。
4 に答える
WinForms ではなく WPF のみを自動化したい場合は、Telerik の無料フレームワークを確認してください。録画や再生などの機能が必要な場合は、有料版もあります。
WPF コントロールと WinForms コントロールの両方の自動化をサポートする 2 つのオープンソース C# ライブラリは次のとおりです。
- 私はこれを使用しましたが、常に信頼できるとは限りません。
- 私はこれを使用しましたが、良いが作業が必要であることがわかりました。
どちらもオープンソースであるため、Microsoft の API の使用方法を示し、ニーズに合わせて変更できます。
コード化された UI テストと Ranorex も使用しましたが、どちらも $$ であり、メンテナンスの問題だと感じているため、記録と再生は気にしません。(ただし、QAliber には録音再生機能があり、White にもアルファ品質のレコーダーがあります。)
もちろん、本当にダウンして汚れたい場合は、いつでも Microsoft の API から直接アクセスできます。
Visual Studio に組み込まれているツールを使用する - コード化された UI テスト:
http://msdn.microsoft.com/en-us/library/dd286681.aspx
これを行うには 2 つの方法があります。コードを記録して生成する方法 (出発点としては適していますが、再現可能なテストが得られないことがよくあります) と、UI オブジェクト ツリーを介して手動でコーディングする方法です。
レコーダー機能が提供するものよりも、自分で書いたコードの方がずっと良かったので、最終的には 2 番目のオプションを最も頻繁に実行することになりました。
PROJECT SIKULIを試すことができます:
Sikuli は、画像 (スクリーンショット) を使用してグラフィカル ユーザー インターフェイス (GUI) を自動化し、テストするビジュアル テクノロジです。Sikuli には、Jython 用のビジュアル スクリプト API である Sikuli Script と、スクリーンショット付きのビジュアル スクリプトを簡単に作成するための統合開発環境である Sikuli IDE が含まれています。Sikuli Script は、内部 API のサポートなしで、画面に表示されるものをすべて自動化します。Web ページ、Windows/Linux/Mac OS X デスクトップ アプリケーション、さらにはシミュレーターまたは VNC 経由で実行されている iPhone または Android アプリケーションをプログラムで制御できます。
UI オートメーションの開始に役立つブログ投稿を次に示します。
Prism 4.0 を使用した Silverlight UI 自動化テスト
これは Silverlight ベースですが、Silverlight は WPF に非常に近く、関連する UI オートメーションの概念はまったく同じです。