レガシ Win32 アプリケーションのテスト自動化を実行する C# アプリケーションを作成しています。これらのテストでは、アプリケーションを実行し、ボタンを押し、ラベル テキストを読み取って結果を検証する必要があります。私のテスト プラットフォームは .NET 2.0 に制限されているため、アプリケーションは .NET を利用できませんSystem.Windows.Automation
。
user32.dll にある WinAPI 呼び出しを使用して、ボタンなどのコントロールを操作する方法に関する豊富な情報があります。ただし、ラベルはコントロールではなく、メッセージを利用するための独自のhWnd
ハンドルを持っていないため、テキストを抽出する方法を見つけることができませんでした.WM_GETTEXT
私は過去に、ラベルをオブジェクトとして識別し、そのテキストを読み取ることができるエンタープライズ (高価な) テスト ソフトウェアを使用しました。そのソフトウェアのヘルプ ファイルは、それがどのように達成されるかを漠然と説明しており、Windows ライブラリの呼び出しを監視することによって何らかの方法で実行されます。
おそらく Windows DLL を使用して、.NET でラベル テキストをキャプチャする方法についてのアイデアはありますか?