問題タブ [microsoft-ui-automation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
295 参照

visual-studio-2010 - コード化された UI テストがどのように機能するかを説明するリンク/オンライン資料を持っている人はいますか?

アプリケーションの自動化に UI オートメーションを使用しており、スクリプトを UI オートメーションからコード化された UI に移動したいと考えていました。舞台裏でどのように機能するかを理解する必要があります。それについてのアイデアを提供するリンク/ドキュメントを共有してください。ありがとう。

0 投票する
1 に答える
89 参照

unit-testing - Microsoft UIA を使用してコントロールのマスクされた値を取得する方法

私たちのアプリケーションには、日付/SSN などのフィールドがあり、これらのフィールドには、'MM/DD/YYYY' または 'xxx-xx-xxxx' などのデフォルトのマスク値が含まれています。これらのコントロールにフォーカスすると、これらの値は非表示になり、空白のコントロールが表示されます。このコントロールで使用可能なデフォルト値を確認する必要があり、UIA を使用してコントロールのマスクされた値を取得する方法があるかどうかを検討しました。

よろしくお願いします!

0 投票する
2 に答える
2534 参照

c# - サーバーで実行したときにWindowsUIAutomationAPIが子要素を検出しない

NUnit2.5.10テスト内からMicrosoftUIAutomation APIを使用して、WPFアプリケーションの自動UIテストを実行しています。

開発マシンでテストを実行すると特定のUI要素を見つけることができる場合がありますが、ビルドエージェントマシンで同じバイナリに対して同じスクリプトを実行すると、それらの要素を見つけることができません。

エージェントマシンの動作が異なる理由はわかりません。UIAccessフラグまたはUACと関係があると思いますが、具体的なことは何もありません。

ビルドエージェントの動作が異なる理由や、他のマシンと同じ要素を表示するようにエージェントを修正する方法について、誰かがガイダンスを提供できますか?

たとえば、私はコンボボックスを持っています。これには約12のオプションがあります。Win7 SDKの「オブジェクトの検査」ツールを使用すると、各オプションに実際に表示されるテキストを持つ子要素があることがわかります。したがって、私のテストコードでは、次のようなことを行います。

私の開発マシンでは、次の結果が得られます。

しかし、サーバーでは、私はこれを取得します:

どちらの場合も、オブジェクトの検査では子オブジェクトが表示されます。 オプションのスクリーンショットを検査する

ビルドエージェントとローカルマシンの両方で、.Net4を搭載したWindows7 SP1を実行しています。どちらの場合も、nunit-console.exeを実行してテストを開始しています。マシン間で環境全体をコピーしているので、同じバージョンのnunitとアプリのバイナリであるだけでなく、まったく同じファイル、構成、ライブラリなどです。nunit-consoleは管理者ユーザーとして実行されています。

0 投票する
2 に答える
2074 参照

c# - TextBoxが読み取り専用かどうかを確認する方法

他のアプリケーションを自動化するアプリケーションを開発しています。「その他」のアプリケーションのテキストボックス要素が読み取り専用かどうかを判断できるようにしたい。1行のテキストボックスの場合、MS UIオートメーションフレームワークはValuePatternを提供し、そのパターンから読み取り専用属性を取得できますが、複数行のテキストボックスがある場合、使用可能なValuePatternはなく、TextPatternとScrollPatternにしかアクセスできません。MS UIオートメーションを使用して複数行のテキストボックスから読み取り専用属性を取得するにはどうすればよいですか?

PS私はインターネットでこれについて何かを見つけようとしましたが、一般的にMSUIオートメーションについてはそれほど多くの情報がないようです。

0 投票する
1 に答える
3427 参照

c++ - GetClickablePointがUIオートメーションで機能しない

メトロアプリ用のUIオートメーションクライアント(c ++)を開発しています。メトロUIで要素を取得できます。RawTreeWalkerを使用しています。

  1. 自動化ツリーの取得

    /li>
  2. 次に、メトロアプリで要素を繰り返し取得しています

  3. UI要素のプロパティを取得する

    リストアイテムの横に画像とテキストアイテムがあります。それをクリックすると、Webページが起動します。

    リストアイテム、画像、テキストアイテムに呼び出し機能がないため、ポイントをクリックできるようにクリック可能なポイントを取得しようとしています。また、Inspect.exeを使用してUI要素を表示しています。

    inspect.exeは、listitem、image、およびtextitemのクリック可能なポイントを表示します。

    問題のあるGetClickablePoint()を使用して取得しようとすると、gotClickable = 0になり、POINTフィールドは0のままになります。hr= S = OK

    /li>

mouse_eventの呼び出しでクリック可能なポイントを使用したい

0 投票する
1 に答える
171 参照

c# - TestApiのKeyboard.Typeメソッドのパフォーマンスを向上させる方法は?

テキストボックスに文字列を入力するために、 TestApiKeyboard.Typeプロジェクトのメソッドを使用しています。

動作しますが、テキストの入力がかなり遅くなります。スピードを上げたい。理想的には、テキストを即座に設定する必要があります(テキストをテキストフィールドに貼り付けることを考えてください)。

C#でそれを実装する(テキストフィールドのテキストを一度にいくつかの文字列に設定する)簡単な方法はありますか?

0 投票する
1 に答える
859 参照

ironpython - WinForms UIオートメーション:VisualUIAVerifyに表示されるRibonが見つかりません

リストされているすべてのオプションを試しましたが、白を使用しているペインコントロール内でリボンが見つかりません。VisualUIAVerifyはそれをツリーで表示しますが。

タブ項目「ツール」のクリックを自動化したい。しかし、「ペイン」しか見つけることができません

[ツール]提供の座標(IronPython)タブをクリックすることもできます。

ペインへのアクセス:

リボンを見つけるために結ぶ

またはすべての子供を見つける

何も機能していないようです。

0 投票する
1 に答える
1036 参照

modal-dialog - UIAutomation-windowopendedeventハンドラーを使用してモーダルダイアログブロッキングを回避する方法は?

私は、私たちの製品の1つに対して自動テストフレームワークを構築しようとしています。一部のテストケースでは、モーダルダイアログで自動化を実行します。ただし、モーダルダイアログはUIAutomationコードの実行をブロックします。つまり、UIAutomationでモーダルダイアログを開いた場合、モーダルダイアログを閉じるまで何も起こりません。

モーダルダイアログが表示されたときにUIAutomationコードを実行するために、モーダルダイアログが開いたときにキャッチするwindowopenedeventハンドラーを登録しようとしました。これにより、windowopenedeventハンドラー内で残りのテストを実行できます。ただし、ハンドラーはイベントをまったくキャッチしていません。何が悪いのかわかりません、何か提案はありますか?

このシナリオの他の回避策も歓迎します。

0 投票する
1 に答える
3168 参照

c# - UIオートメーションライブラリを使用して「ペイン」をクリックする方法は?

ペインをクリックする必要があるアプリケーションがあります。ボタンをクリックするために使用する次のコードを使用しようとしましたが、サポートされていないパターンの例外が発生しました。

InvokePattern click_pattern = (InvokePattern)adjust_button.GetCurrentPattern(InvokePattern.Pattern); click_pattern.Invoke();

それを行う他の方法はありますか?