2

Borland C++ で記述された Win32 アプリケーション用に、QTP で記述された既存のテストに代わるものを探しています。私の候補者はホワイトです。これはネイティブ ソリューションであるため、UI オートメーションに基づいています。.NET/C# を使用してテストを作成し、nUnit および Hudson と簡単に統合できます。

ホワイト http://white.codeplex.com

MS UI オートメーション http://msdn.microsoft.com/en-us/library/ms747327.aspx

UI 検証 http://uiautomationverify.codeplex.com

UI Verify をスパイとして使用して、テストで見つけたいオブジェクトのプロパティを識別します。多かれ少なかれ、スパイで何かが見えるときは、UI Automation/White を使用して見つけることができます。通常、オブジェクトの認識にはあまり問題はありませんが、タブ パネルに含まれるタブ内のコンテンツを検索しようとしたり、メニュー バーの MenuItems を見ようとしたりすると、問題が発生します。

UI Automation/UI Verify は有線で動作します。UI Verify (1.0 バージョン) を実行すると、「フォーカス トラッキング」オプションを設定し、ターゲット オブジェクトをクリックするか、それらのキーボード カーソルを変更した場合にのみ、オブジェクトが正しく登録されることがわかります。そうでなければ、それらを見つけることは不可能です。UI Verifier は、「タブ」パネルの子を表示できます。しかし、UI Automation/White を使用してそれらを見つけることができません。これはコード例です:

タブ タブ = window.Get(); ITabPage tabPage = tab.SelectedTab; AutomationElementCollection newCol = tabPage.AutomationElement.FindAll(TreeScope.Descendants, Condition.TrueCondition); window.Get("ボタン名");

スパイが子供を見ても、コレクションは空です。

  1. ホワイト/UI オートメーション ライブラリの経験があり、私と共有したい人はいますか?
  2. スパイからテストへの追跡機能を実装したいと考えています。それを手伝ってもらえますか?UIA Verify スパイのコードを研究しようとしています。オブジェクトをキャッチする役割を担う 2 つのクラスがあると思います: FocusChangeListener と FocusTracer - これがコードです。

http://uiautomationverify.codeplex.com/SourceControl/changeset/view/9992#214260 http://uiautomationverify.codeplex.com/SourceControl/changeset/view/9992#214192

要件: 1. Windows SDK 2. .NET 3.5 3. ホワイト 4. UIA Verify コード

  1. ホワイト/UI オートメーションのより良い代替手段はありますか?

R.

4

1 に答える 1

1

あなた、R または YoYo は、ファイル共有のどこかにフォームをコンパイルまたはソース コード (内部ロジックがないことが望ましい) に配置できますか? UIAVerify が認識した場合、UI オートメーションを使用してキャッチされないコントロールを見たことがありません。このようなウィンドウは、UIAVerify のフォーカス トラッキング機能でしか捕捉できませんでした。この場合、そのようなウィンドウは UI オートメーション 検索で操作できません。

コントロールに関して、苦労しているコントロールに Name プロパティがあると確信していますか? おそらく、これは Name ではなく、ValuePattern によってのみ利用可能な値でしょうか?

于 2012-04-19T14:15:38.710 に答える