問題タブ [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.
wpf - System.Windows.Automation 名前空間の問題
私は WPF アプリケーションを実装しており、System.Windows.Automation 名前空間を使用して、アプリケーションからハイライトされたテキストをキャプチャしたいと考えています。
問題は、Visual Studio と Expression が AutomationElement、TreeScope、TextPattern を識別せず、赤で下線が引かれていることです !! Windows 7でVisual Studio 2010 ProfessionalとExpression 4を使用しています。よろしくお願いします:)
nunit - リモート仮想マシンでの自動 UI テストの戦略
CI ビルドに TeamCity を使用しています。Windows XP および Windows 7 仮想マシンで自動化された UI テストを実行するための 2 つ目のビルドをセットアップしたいと考えています。
ビルドは次のように機能すると思います。
- コンパイル、単体テストの実行など
- WiX を使用して MSI を準備する
- MSI をターゲット テスト マシンにコピーする
- MSI をリモートで実行する
- テスト ハーネス コードをリモート マシンにコピーする
- テストを実行する
- ビルド仕上げ
自動化された UI テストは NUnit を使用して記述されており、テスト仮想マシンで直接実行する必要があります (リモートで実行することはできません)。テストが失敗した場合、それが TeamCity ビルド ログに表示され、ビルドが失敗することが重要です。どちらのテスト仮想マシンにも VS または TeamCity ビルド エージェントをインストールしたくありません。
これのほとんどはpsexec.exeを使用して可能であるようです。検討すべき代替ツール (できればオープン ソース) はありますか?
java - 記録と再生およびスクリーン キャプチャ機能を備えた Java Swing アプリケーション用の UI 自動化ツール
記録と再生および画面キャプチャ機能を備えた Java Swing アプリケーション用の UI 自動化ツールを提案できますか
wpf - 自動テストを中断せずに、TabControlのControlTemplateを定義するにはどうすればよいですか?
概要
私のWPFアプリケーションでは、左側にボタンがあるTabControlが必要だったので、必要なレイアウトでControlTemplateを定義しましたが、正常に機能しました。
ただし、私のテスターの自動テストツールは、現在選択されているタブを含め、タブのコンテンツを表示できません。
質問:ControlTemplateを定義しながら、自動テストツールでTabControlをテスト可能に保つにはどうすればよいですか?
詳細
私はWPF3.5を使用してWPFアプリケーションを開発しています私のテスターはQTP
と呼ばれる自動テストツールを使用しています
彼はUISpy.exeで見ることができるものなら何でもテストできると言います
- テンプレートを適用せずにストレートTabControlを使用すると、UISpyは現在選択されているタブのコンテンツを表示できます。
- ただし、ContentTemplateを使用してレイアウトを変更すると(以下に示すコード)、UISpyはタブヘッダーを表示できますが、コンテンツは表示されません。
サンプルWPFアプリケーション(Xaml):
私の検索でこれまでに見つけたもの:
- カスタムAutomationPeerを使用してカスタムTabControlを作成する必要があることに関する多くのこと(たとえば、フォーラムの質問UI Automationに対するMSFTの回答:ControlTemplateでのコントロールへのアクセス、カスタムコントロールとUIオートメーションのブログ投稿)。しかし、私のすべての本能は、それはクレイジーなやり過ぎだと言っています。
- ContentPresenterに名前、x:Name、またはAutomationProperties.AutomationIdを与えることに関するいくつかの提案-どれも効果がありません
(検索後、最終的に答えが見つかりましたが、思ったよりも時間がかかりました。AutomationPeerの初期の結果は確かに間違っていたので、将来誰かに役立つ場合に備えて、これをSOの質問と自己回答として書いています。 )。
matlab - Matlab による Windows 自動化
こんにちは、Matlab で Windows 自動化を介して FastHenry2 を制御しようとしています。私はそのトピックに不慣れです。すべてを正しく理解している場合は、それを開く必要があります。
ax=actxserver('FastHenry2.Document');
ハンドルで必要な機能を実行するよりも?
しかし、それはうまくいきません。Matlab は Run を見つけることができず、代わりに run を使用します。これは、問題とはまったく関係のない Function のビルドです。また、この UI がサポートする必要がある他のすべての機能も機能しません。たとえば、FastHenry2.IsRunning または FastHenry2.GetInductance です。だから私はUIの処理全体で何か間違っていると思います。FastHenry は、以下に添付した VBS を使用したサンプル スクリプトを提供します。正常に動作するため、FastHenry をコンピュータに直接インストールする必要があります。得ることができるすべてのヒントに感謝します。
とても長い俳優
次の VBS の例は正常に動作します
c# - AutoIT を使用してリモート ウィンドウを自動化する
C# アプリケーションで AutoIT の COM インターフェイスを使用して、リモート マシンのウィンドウを自動化したいと考えています。次のようなコードがあります。
問題は、オートメーションがリモート マシンのウィンドウを認識していないように見えることです。私が間違っていることはありますか?これは可能ですか?
c# - PowerShellUIAutomationスクリプトが期待される結果を返さない
[この質問は以前にPowerShellTechnetフォーラムに投稿しましたが、回答はありません]
Windows XPのクイック起動設定を変更しようとしています(PowerShellを使用して有効/無効にします)。既存のVBScriptソリューションはレジストリまたはSendKeysのいずれかに依存しているため、これはUIAutomationを介してPowerShellで実行可能であると思いました。私の最初の試みは、変更が必要なチェックボックスを表すAutomationElementへの参照を取得することでした([コントロールパネル]->[タスクバーとスタートメニュー]->[タスクバー]タブ->[クイック起動の表示]チェックボックス)。スクリプトは次のとおりです。
スクリプトはエラーになりませんが、予期しない結果を返します。
クイック起動を表示
ControlType.Pane
ControlType.CheckBoxの代わりに、スクリプトはAutomationElementをControlType.Paneとして認識します。同等の(少なくとも私はそう思う)C#コンソールアプリケーションは、期待される結果を返します。
クイック起動を表示
ControlType.CheckBox
私は何が間違っているのですか?PowerShellスクリプトはISE(つまり、V2)から実行され、スクリプトとC#プログラムの両方が、アプレットが既に開いている/表示されていることを前提としています。(XP SP3)
c# - プロセスにグラフィカル インターフェイスがあるかどうかを確認するにはどうすればよいですか?
自動化を使用してアプリケーションをテストしていますが、バッチ ファイルを使用してアプリケーションを起動したい場合があります。「process.WaitForInputIdle(100)」を実行すると、エラーが発生します。
「WaitForInputIdle が失敗しました。これは、プロセスにグラフィカル インターフェイスがないことが原因である可能性があります。」
プロセスにグラフィカル インターフェイスがあるかどうかを確認するにはどうすればよいですか?
silverlight - SilverlightコントロールのUIオートメーションを使用した画面の相互作用の記録
UIオートメーションを使用して、Silverlightアプリで画面の操作を記録しようとしています。コントロール設定用の自動化ピアがありますが、これらのコントロールを追跡する方法がわかりません。
私のWPFアプリの場合は、取得AutomationElement.RootElement
してからアプリに移動し、関心のあるコントロールに自動化イベントハンドラーを設定します。
Silverlightアプリでも同じことをするにはどうすればよいですか?アプリを実行するたびにスクリーンレコーダーを自動的に起動したい。スクリーンレコーダーは私のアプリ内に配置する必要があります。ただし、 Silverlight名前空間にはクラスSystem.Windows.Automation
がありません。AutomationElement
では、Silverlightでこれをどのように行うのでしょうか?
ありがとう
Shivaprasad
c# - ウィンドウハンドルからカスタム.NETクラスのコンポーネントタイプを取得します
別のプロセスでクリックされたコントロールのコンポーネントタイプ、つまりプログラムされたクラスの名前を確認する必要があります。クリックしたコントロールに反応して自動化タスクを実行できるように、タイプが必要です。現在、次のことを行っています。1. Win32からFindWindow()を実行して、プロセスのメインウィンドウハンドルを検索します。2.次に、同じくWin32からEnumChildWindows()を呼び出し、メインウィンドウハンドルのすべての子のウィンドウハンドルを取得します。3.今それはトリッキーになります。GetClassName()を呼び出すと、読み取ろうとしているコントロールがカスタムであるため、WindowsForms10.STATIC.app[...]が返されます。
EnumChildWindows()からウィンドウハンドルを使用して、クリックされたコントロールのタイプを取得するにはどうすればよいですか?私がやろうとしていることは可能ですか?Win32からプロセスへのSendMessage()の使用を検討してきましたが、役立つシステム定義のメッセージがないようです。