問題タブ [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 - AutomationPeerクラスを実装していないWPFカスタムコントロールの内部要素にアクセスするにはどうすればよいですか?
最近、この記事から知りました-
http://blogs.msdn.com/b/patrickdanino/archive/2009/11/11/custom-controls-and-ui-automation.aspx
-WPFのコントロールは、UIAアイテム自体を公開する責任があり、カスタムコントロールの新しく追加された機能は、対応するAutomationPeerクラスの実装を通じて公開されるまでUIAで使用できません。私の仕事では、多数のツールバーを使用するWPFアプリケーションのUIテストの自動化に割り当てられています。問題は、Microsoft UIオートメーションライブラリを介して、AutomationElementsとしてツールバー(明らかにカスタムコントロールとして開発されている)にアクセスできますが、その中のボタンにアクセスできないことです。子/子孫コレクションの数は常に0を返します。コード化されたUIテストを使用する場合、テストは常に失敗し、次のエラーメッセージが表示されます。
テストメソッドCAM2QDummyTest.CodedUITest2.CodedUITestMethod1が例外をスローしました:
Microsoft.VisualStudio.TestTools.UITest.Extension.FailedToPerformActionOnBlockedControlException:別のコントロールがコントロールをブロックしています。ブロックされたコントロールを表示して、アクションを再試行してください。追加の詳細:
TechnologyName:'MSAA'
名前:「標準」
ControlType:'ToolBar'
---> System.Runtime.InteropServices.COMException:HRESULTからの例外:0xF004F003
どうやら彼らは対応するAutomationPeerクラスを実装していませんでした。今、私はアプリケーションだけを持っており、ソースコードは持っていません。そのため、上記の記事で説明した方法で問題を解決することはできません。ツールバーの内側のボタンにアクセスするにはどうすればよいですか?どんな提案でもありがたいです。
wpf - UI オートメーションと互換性のある Wpf ドッキング コントロール
製品で Ranorex を使用して UI オートメーション テストをゆっくりと作成してきましたが、いくつかの問題に遭遇しました。
Telerik Wpf コントロール (TabControl、TreeView、Grid、および Docking) を使用していますが、これまでのところ、Ranorex を使用して TreeView と Grid のみをテストできました。Ranorex で動作する標準の Wpf TabControl の TabControl を置き換えました。ただし、ドッキング コントロールは機能しません。もちろん、代わりに使用できる標準の Wpf ドッキング コントロールはありません。
私の質問は次のとおりです。UI オートメーション ツール (できれば Ranorex) を使用してテストできる Wpf ドッキング コントロールを知っている人はいますか?
最初は有望に見えたAvalonDockを見つけましたが、彼らのサイトのこのスレッドによると、UIオートメーションをサポートしていません:(
コメントをお待ちしております。
シイ
c# - 「メタデータ foo.dll が見つかりません!」を解決するにはどうすればよいですか? コマンドラインでC#コードをコンパイルするときのエラー?
私の Windows 7 ワークステーションには、MSVC9 や MSVC10 など、さまざまなコンパイラがインストールされています。最近、MSVC10 環境でのみ発生する次の奇妙な問題に気付きました。
MSVC9 シェル (スタート メニューから使用) で実行csc.exe
すると、C# 2008 コンパイラ バージョン 3.5.30729.4926 (.NET 3.5) を使用していることがわかります。MSVC10 シェルでは、コンパイラ バージョン 4.0.30128.1 です。次の小さなサンプル プログラムは、MSVC9 ではビルドcsc.exe
できますが、MSVC10 では失敗します。
次のコマンド ラインを使用して (MSVC9 と MSVC10 を使用)、プログラムをビルドします。
MSVC9 では、これは成功します (出力は表示されず、Hello.exe
ビルドされます)。MSVC10 では、ビルドは次のエラー メッセージで失敗します。
それがなぜなのか誰か知っていますか?
更新:/r:UIAutomationClient.dll
になるようにコマンド ラインを変更すると、ビルドを MSVC10 で動作させることができることに気付きました/r:WPF\UIAutomationClient.dll
。
flash - FlashアプリケーションとFlexアプリケーションの機能テストツールはどのように比較されますか?
私は次のことに出くわしました:
- フラッシュ-セレン
- RIATest
- ナス
- FlexMonkey
- フレックスパイロット
それぞれの長所と短所は何ですか?
c++ - Gecko 2.0 (Firefox 4) では、現在フォーカスされていないタブと対話する (Windows メッセージを送信する) 方法を教えてください。
自動化された Firefox を例にとると、「return」と入力する生のキーストロークをエミュレートするなど、クレイジーなことをしたいのですが、現在フォーカス/アクティブ/オントップになっていないタブ ウィンドウに移動します。
https://developer.mozilla.org/en/Code_snippets/Finding_Window_Handlesのアイデアを使用して 、hwnd を取得し、次のようなことを行うことができます
ただし、Gecko 2.0 (Firefox 4 など) の同じリンクによると、各タブを表す Windows ネイティブの hwnd はなくなります。
実行したいさまざまな自動化アクションがあるため、現在フォーカスされていないタブに Windows メッセージを送信する代わりの方法があるかどうかを調べていますか?
または、これらのアクションを他の「gecko ネイティブ」プロセスに置き換えるために、より大きな再書き込みが必要になりますか?
ios - iOS / UIオートメーション:UIAActionSheetにはボタンで操作する可能性がありません
私の質問は、XCodeのInstrumentsツールのUIオートメーションテンプレートに関連しています。UIオートメーションはUIActionSheetテストをどのようにサポートしていますか?UIAActionSheet要素があることを知っており、アプリケーションでそれを取得できました。しかし、アクションシートのボタンを使って操作する方法がわかりません。UIオートメーションは、これらのボタンの要素を提供しません。UIオートメーションのドキュメントにも、この問題に関する情報はありません。以下のリンクを参照してください。このコントロールはボタンにUIButtonクラスを使用せず、特定の方法でボタンをレンダリングしているようです。UIAActionSheetからボタンにアクセスする方法を教えてください。ありがとうございました。
javascript - MozmillUIオートメーションとCookie
最近、Mozmillアドオン/ツールを使用してUIオートメーションを実行しました。これは、Cookieを設定してから読み取ろうとしている場合を除いて、これまでのところ非常にうまく機能しています。Mozmillを使用してCookieを設定すると、従来のjavascript cookieの動作が得られないようです。つまり、document.cookieを何度でも設定できますが、cookieオブジェクトから読み取るときに常に最後の値が設定されます。次に例を示します。
おそらく、JavaScriptでCookieがどのように機能するかを理解していないか、Mozmill内で想定しているようにCookieが機能しない可能性があります。Mozmillのドキュメントとグーグル検索は良い答えを生み出しませんでした。助けてくれてありがとう。
c# - UIAutomation または White を使用してボタンを有効にする方法
インストール ウィザードを自動化しようとしていますが、有効になっていないボタンをクリックする必要がありました。
これは Windows Messages を使用して実行できることはわかっていますが、これが White または UIAutomation で既にサポートされているかどうか疑問に思っていました。
参考までに、これは機能しません:
これもしない
上記の例では、O2 プラットフォームに追加した White ベースの API を使用しています (メモ帳の自動化の例はこちら) 。
ui-automation - UIAutomation 実行時の UAC プロンプトの処理
UIAutomation 経由で UAC プロンプトにアクセスする方法はありますか (インストール プロセスのテストを書いています)。
http://msdn.microsoft.com/en-us/library/ms742884.aspxから、これを設定する方法があるようです。
問題は、これを自動的に作成する方法です。
私の現在の UIAutomation セットアップは、 O2 プラットフォームからの一連の拡張メソッドを備えた素晴らしい White API (white.codeplex.com) で構成されています。
ui-automation - ホワイト/UIAutomationの使用右クリックのコンテキストメニューを取得する方法
UIAutomationを使用していると、右クリックコマンドを実行したときに表示されるコンテキストメニューへの参照を取得できないようです。
次の例は、(Windowsエクスプローラーが内部にある)新しいウィンドウを開き、使用可能なDesktopWindowsから正しい参照を取得し(移動できることに注意してください)、右クリックでコンテキストメニューをトリガーした場合を示しています。
window.Popup変数を使用してポップアップを取得しようとしましたが、それはnullでした(ウィンドウオブジェクトのタイプがWhite.Core.UIItems.WindowItems.WinFormWindowであるというわけではありません)。