2011-05-12 11 views
0

複雑なUIを持つWPFアプリケーションを使用し、同じもの用にCodedUITestスクリプトを作成したい。 私はこれに慣れていないので、CodedUITestスクリプトを書くための適切なガイダンス/アプローチが必要です。 Record &を使用してすべてを行うことはできません。UIにカスタムコントロールが存在し、いつでも変更できるため、Play stuffを再生します。CodedUITestを使用してWPFアプリケーションをテストする正しい方法は何ですか

私はこのことをC#コードで行いたいと思います。カスタムグリッドから特定のレコードを取得し、C#コードを使用してコントロールを識別します。

  • CodedUITestで簡単に識別するために、どのようなプロパティをコントロールする必要がありますか?
  • AutomationIdをすべてのコントロールに与えることは義務ですか?
  • Treeviewやグリッドのような動的コントロールのために何が必要ですか?
  • ウィンドウのドロップタイプ&を確認するにはどうすればよいですか?

答えて

1

理論的側面:

コード化されたUIは、UIの回帰テストを行うために作られていますをテストします。特定のデータが与えられた場合、UIはの特定の方法で反応する必要があります。テストのこの王のアイデアは、同じデータがUI上で、同じように動作することを前提としています。言い換えれば、ある種のデータセットが与えられた場合、どのように反応して(録音に基づいて)、のテストはになるはずです。

実用事実:

コード化されたUIテストは、テストフレームワークであり、記録は、コードを生成します。あなたはそのコードを見ることができ、IMHOではそのことがどのように機能するのかを知る必要があります。より汎用性の高いコード化されたUIが必要な場合は、生成されたコードを変更することでそれを達成できます。実際には私はSTRONGLYは、生成されたクラスとメソッドを分割し、いくつかのclanupを行うことをお勧めします。

コードは、UI Map(テストで使用されるUIオブジェクトを参照するプロパティを持つクラス)の並べ替えを生成します。そのマップを手作業で追加したり削除したりすることができます。実際には、複雑なUIマップを作成することもできます。さらにマップを他のマップから継承させることもできます(aaa ASP.Netマスターページ)。

WPFでは、コントロールが存在するかどうか、UIスタイル、コンテンツ、子(存在する場合)がチェックできます。 AutomationIDサブジェクトでは、チェックする必要があるコントロールでのみ必須です。 D & D ...私は分かりません。私はD &DのUIテストを行ったことがありません。

+0

ありがとうございます。 私はMicrosoft UI Automation Libraryというテストライブラリをもう1つ見つけました。 確認したいWPFアプリケーションテスト、CodedUITest、またはMicrosoft UIオートメーションライブラリにはどのライブラリを使用する必要がありますか? – CodingNinja

+0

http://blogs.msdn.com/b/dpksinghal/archive/2011/09/28/how-to-test-deep-hierarchy-controls-using-coded-ui-test-in-wpf.aspx for WPFコントロールが見つからないテストレコーダーの問題を修正する、コード化されたUIテストレコーダーのビジュアルツリーの深さの問題を修正しました。 –

関連する問題