問題タブ [white-framework]

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 投票する
0 に答える
806 参照

c# - プロセスを検索し、ProcessStartInfo をメソッドにアタッチします

Windowsの電卓を操作しようとしています。私のプログラムがインスタンスを見つけた場合 (それが検出した場合)、プロセスの startInfo を TestStack の UIAutomation 用のホワイト フレームワークに提供する必要があります。ただし、次の例外が引き続き発生します。

次のfound[0].StartInfoコード行から

電卓プロセスはすでに実行中です。(アクセサリ > 電卓)

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

c# - DockPanel ルートで White CustomUIItem を作成するには?

ウィンドウに複雑な構造のカスタム コントロールを設定しています。このコントロールのすべてのロジックを (内側のグリッド、ボタンなどで) カプセル化するカスタム コントロールを作成したいと思います。

私が追加したXAMLで:

私が追加したソースコードでは:

今追加して、アイテムを見つけようとしています:

Custom type および 'WidgetName' 名のコントロールが見つからないというエラーがスローされます。

また、ウィンドウにはそのようなコントロールのセットがあります。のようなものはありますか

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

c# - GetMultiple から取得した UIItem を White の具体的な CustomUIItem に変換する方法は?

CustomUIItem 実装があります。ウィンドウで、このタイプの N 個のコントロールを動的に作成しました。

これらすべてのコントロールのリストを取得する必要があります。

これにより、そのようなパラメーターを持つすべてのコントロールのリストが返されます。

ここで、これらのカスタム コントロールを具体的な実装 MyControlType に変換したいと思います。どうやってやるの?

PS私は自分のタイプにキャストしようとしました、例えば

また、手動でコントロールを作成しようとしました:

この場合、Container プロパティは null で、内部コントロールが見つかりません。

0 投票する
3 に答える
3659 参照

c# - オフスクリーン エレメント テストスタック ホワイト

サードパーティの WPF アプリケーションを自動化する必要があります。TestStack/White を使用しています。このアプリケーションには、画像で表示されるメニュー バーがあります。いくつかのアクションメニューが変更された後。新しいイメージを提示します。新しい画像をクリックしたいとき:

例外が発生します:

TestStack.White.AutomationException: イメージに対してアクションを実行できません。AutomationId:、Name:、ControlType:image、FrameworkId:WPF、要素がオフスクリーンです。

調査要素には Microsoft Inspect を使用しています。テストを開始すると、Inspect は画像がオフスクリーンであることを示します。しかし、これらのアクションを手動で行うと、完全に機能し、Inspect でこの画像がオフスクリーンになりません。

これらの要素を更新したり、ウィンドウのキャッシュをクリアするにはどうすればよいですか?

0 投票する
0 に答える
850 参照

console-application - コンソール アプリケーションの右クリック後のコンテキスト メニューの白/UI オートメーション

コンテキスト メニューからアイテムにアクセスする方法を調べてきましたが、今のところ検索に成功していません。ContextMenu が Desktop の子として表示されることがわかりました。これは MSDN も確認しています。コンソールアプリケーションの自動化を行っています。ただし、デスクトップの子を表示するためにデバッグしたり、ルートからコンテキスト メニューにアクセスしようとすると、そこにないと表示されます。さらに、UISpy/Inspect は、ProcessID がアプリケーションに関連していることを教えてくれます。では、親との密談はどこにあるのでしょうか?

以下は私が使用しているコードサンプルです

TreeNode を右クリックした後、ポップアップ メニューが表示され、その上で利用可能なオプション (メニュー項目) の 1 つをクリックしたいと思いました。ただし、Inspect ツールのポップアップ メニューでは、Context とその Desktop の子として表示されます。コンテキスト メニューに集中できず、これで利用可能なオプション (メニュー項目) をクリックできませんか? コンテキストメニューで利用可能なメニューアイテムをクリックする方法について、誰かが私に案内してもらえますか?

前もって感謝します!

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

c# - Backgroundworker 内のテスト実行は、多くの子要素を持つ要素で突然終了します

私の一般的なセットアップ: 私たちは小さな GUI を備えた小さな Excel インポーターを作成しました。基礎となるフレームワークは TestStack.White です。Excel ファイルと他のいくつかのユーザー対話をインポートした後、テストは System.ComponentModel.BackgroundWorker 内で開始されます。これは、膨大な数の子要素を含む要素を見たり、対話したりしない限り、正常に動作します。

しかし、多くの要素を持つ TestStack.White.UIItems.WindowItems.Window または TestStack.White.UIItems.UIItemContainer と対話するとすぐに、testexecution は終了します。

対話とは、null でないチェックやローカル変数への代入などの単純なものから、子の数を要求するようなものまですべてを意味します。テスト実行を終了するいくつかの例: 1)

2)

3)

何百もの要素を持たないウィンドウでは、3 つの例はすべて意図したとおりに機能します。

多くの要素とは、たとえば、ScrollView を内部に持ち、数十または数百のエントリを持つテーブルを持ち、すべてのエントリがテキストまたはチェックボックスなどを含む 3 ~ 4 列で構成されるウィンドウを意味します。

Backgroundworkers RunWorkerCompleted と Disposed は呼び出されません。意図的に配置された try/catch ブロックを使用しても、例外はまったく発生しません。デバッガーは問題の原因となっている行に到達し、それだけです。1時間待っても、その後何も来ません。

代わりに、「スレッド {some hex id} はコード 259 (0x103) で終了しました」といういくつかの異なるメッセージが表示されます。Visual Studio の出力ウィンドウで。これは私の最後のテスト実行からのものです:

私がこのメッセージを理解している限り、それはスレッドがまだ生きていることを意味します。https://stackoverflow.com/a/22395548/1171328

エラーの原因となった要素の内容を確認するためにデバッガーにアクセスすると、Items (子要素を持つ List) の後に続くすべての要素 (Items を含む) でタイムアウトが発生します。

また、問題は、このスレッドの場合のように、メイン スレッドが終了することではありません (または終了すべきではありませんか? )

ここで何が起こっているのか、またはこの問題を解決する方法を知っている人はいますか?

これは私がアプリを起動する方法です:

その後、ユーザーはテストするウィンドウを設定します (モーダル ウィンドウである場合とそうでない場合がありますが、何百もの要素を持たないウィンドウでは機能します)。

context.UIAnchor は上記の要素です。その後、ユーザーが設定したメソッド (Button.Click など) が呼び出されます。おかしなことに、context.UIAnchor = win と items.count の出力が機能します。

更新: テスト対象のアプリを閉じると、テスト プログラムを閉じる前に、ElementNotAvaiableException が発生します。したがって、スレッドが完全に死んでいるわけではありません。

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

white-framework - Test Stack White のロギングをオフにする方法は?

White はコンソールに大量のログを出力しているので、コンソールをオフにして出力を確認したいと考えています。それはどのように可能ですか?以下を試しましたが、まだログが表示されます。追加する必要があるコードは他にありますか?

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

vb6 - TestStack.White を使用して VB6 コントロールを見つける

TestStack.White を使用して、VB6 で記述された古いアプリからリストを読み取ります。リストへの参照を見つけることはできますが、TestStack.White はリスト内の値を認識しません。

Spy++ または Visual UI Automation を使用すると、ID が 15、14、16、12、11、10、8 などのペインを確認すると、実際のテキスト ボックスではなく、列が強調表示されます。このアプリのスクリーンショットを見ることができます。

リストから値を取得する方法について何か提案はありますか?

前もって感謝します。

アプリのスクリーンショットです。 ここに画像の説明を入力

Spy++ のスクリーンショット ここに画像の説明を入力

ビジュアル UI オートメーションの検証のスクリーンショット ここに画像の説明を入力