2012-04-26 9 views
1

TestCompleteで利用可能なものと同様のオブジェクトブラウザ/マニピュレータを実行する必要があります。つまり、実行中の外部アプリケーションのすべてのオブジェクトとそのプロパティをリストし、これはすべて実行時にはもちろんです。
MSAA/IAccessibleはオブジェクトを読み取ることができますが、可視オブジェクトのみを返すことができ、私が知る限りプロパティを変更することはできません。
WinAPIを使用するハンドルがないオブジェクト、たとえばラベルを読み取れませんでした。実行時のアプリケーションオブジェクトのブラウジングと操作

理想的には、私はこれをDelphiで行いたいと思いますが、他の言語の提案も受け入れられます。 (これは、TestCompleteをで行われていた)私が行うことができるようにしたいものの

例:

TestComplete Object Browser TestComplete Object Browser 2

+0

[既存のオブジェクトをリストしてそのプロパティを変更する理想的な方法は何でしょうか?](http://stackoverflow.com/questions/10096071/what-would-be-an-ideal-way-既存のオブジェクトを読み込みおよび変更するためのリストへのリスト) – Helen

答えて

1

タスクが簡単なものではありません。これを行うには、作業するすべてのアプリケーションフレームワーク(.NET、MFC、VCLなど)のデータを取得する特定の方法を使用する必要があります。これらのアプローチのいくつかは非常に明白です(たとえばReflection for .NETやJavaなど)が、VCLの場合のように複雑なものや文書化されていないものもあります。 TestCompleteは、独自のフックをターゲットプロセスメモリにロードし、これらのモジュールを介してこのアプリケーションに関する情報を取得します。

私が知る限り、TestCompleteは、テストされたアプリケーションのさまざまな種類のデバッグ情報を読み込み、オブジェクトをそのメンバと共に公開するときに使用することができます。

IAccessibleとWin APIを使用する方が簡単ですが、場合によってはそれほど効果的ではありません。あなたは、Win APIを使ってラベルから情報を得ることができなかったと述べました。これは、VCLアプリケーションのTLabelオブジェクトがウィンドウオブジェクトではないために発生します。

関連する問題