1

TestStackを使用して、アプリケーションで自動化プロセスを実行できることを知りたいです。そこで、ターゲット アプリケーションのすべてのウィンドウをカウントする簡単なコードを書きました。

まず、サンプル アプリケーション ( WinForm (.net) ) でテストしたところ、うまく機能しました(フォーム カウントとして 1 を返します)。

次に、ターゲット アプリケーションでテストしましたが、ウィンドウが返されません(フォーム カウントとして 0 を返します)。

ボタンの下の私のコード:

TestStack.White.Application application = TestStack.White.Application.Launch(@"C:\target.exe");

var windows = application.GetWindows();

foreach (var window in windows)
{
    MessageBox.Show(window.Title);
}

...................................................ここに画像の説明を入力

追加情報:

  • ボタンをクリックすると、ターゲット アプリケーションを正常に起動できます。

  • 私は自分のアプリケーション プログラミング テクノロジを知りませんでした。C++ と QT だと思いますが、違うかもしれません。

  • application変数を見ました。結果は次のとおりです。

ここに画像の説明を入力

質問:

  • この問題を引き起こす原因は何ですか?
  • この種のアプリケーションでプロセスを自動化するには、別の方法に切り替える必要がありますか (たとえば、低レベルの Windows API とメッセージを使用するか...)。
  • 私は TestStack のビギナーです。間違いはありますか?
  • あなたの提案は何ですか?

ありがとう...


編集1

  • ターゲット アプリケーション ウィンドウの ClassName: "Qt5QWindowIcon" (これを取得するために SpyUI を使用しました)
4

2 に答える 2