2

MSAA を使用して単純な Windows アプリケーションを自動化したいと考えています。TextBoxコントロールを見つけて(と言うButton)、それらの値を取得する方法(TextBoxボタンの場合は値を取得してクリックする )のアイデアが得られません。

4

2 に答える 2

3

MSAA を使用して自動化する理由は何ですか? Microsoft の現在の方法はUI Automationです。

ウィキペディアから(強調鉱山):

UIA は、ユーザー インターフェイスのアクセシビリティとソフトウェア テストの自動化をサポートするために、ユーザー インターフェイス要素とコントロールに関する情報を公開および収集する手段を提供するという点で、Microsoft Active Accessibility (MSAA) に似ています。ただし、UIA は MSAA よりもはるかに豊富なオブジェクト モデルを提供する新しいテクノロジです...

UI オートメーションを使用すると、ネイティブまたは .NET アプリケーションを作成して自動化したり、UI オートメーションに依存するRIATestなどのサードパーティ ツールを使用したりできます。

(免責事項: 私は RIATest と提携しています)。

于 2013-05-09T13:58:14.550 に答える
2

以下では、自動化プログラムを C/C++ で開発することを想定しています。.NET から MSAA を使用するのが簡単かどうかはわかりません (可能かもしれませんが!)。

C++ を使用したくない場合は、.NET から MS UI Automation を使用して調査することをお勧めします。

MSAA と C++ を使用して自動化クライアント アプリの開発を開始するには、次のことをお勧めします。

  1. Windows 7 および .NET Framework 4 用の Windows SDK をインストールする

  2. これにより、Inspect.exe ツールがインストールされます。次の場所にあります。

    Programs > Microsoft Windows SDK v7.1 > Tools > Inspect Objects

  3. Inspect.exe を起動し、左上のドロップダウン メニューを [UI Automation] から [MSAA] に切り替えます。

  4. テスト対象のアプリケーションを起動し、UI 要素の上にマウスを置きます。要素の MSAA プロパティが Inspect.exe に表示されます。

  5. 自動化コードを書いてください:)

An important choice will be to decide whether to use event-driven techniques to locate your elements, or simply start at the top level (the desktop), find your app among the child elements of the desktop, and drill down into your app's element treeそこから。

codeproject.com には、イベント駆動型の MSAA チュートリアルがあります: http://www.codeproject.com/Articles/18290/Introduction-to-Microsoft-Active-Accessibility

MSAA でのツリー ベースのナビゲーションに関するチュートリアルは、もう少し少ないようです。私はMSのドキュメントから始めます - 最初のものをお勧めします:

Active Accessibility クライアントのインターフェースと機能

アクティブなアクセシビリティ ユーザー インターフェース サービス

アクティブ アクセシビリティ スタート ページ

于 2013-03-22T18:04:25.657 に答える