2009-06-24 5 views
2

QTP 9.5を使用しています。私のアプリケーションは で書かれています。私はDelphiアドインをインストールしており、QTP はDelphiコントロールを識別できます。すべてではなくて、ほとんどが TLabelです。 QTPはこの コントロールを認識できず、Object Spyによって無視されています。 どのような提案、ヒント、手がかりをテストするための手がかりですか?QTPでラベルをテストするには

乾杯!

答えて

1

TSpeedButtonのようなコントロールを検出できますか?そうでない場合、これはQtpがTGraphicControlから降下するコントロールを検出できないため、ウィンドウハンドルを持たないというサインである可能性があります。

+0

いいえ、TSpeedButtonも検出できません。どちらもTImageではありませんが、おそらくこのコントロールをテストする必要はないので問題はありません。しかし、ええ、QTPは恐らくTGraphiccontrolから受け継がれたコントロールを検出することができません。ほとんどのテストでは、ラベルに正しいテキストがあるかどうかは になります。 –

2

TLabelの代わりにTStaticTextを試しましたか?
これらは、ウィンドウハンドル付きのラベルです(TGraphicControlの代わりにTWinControlを基にしています)。つまり、外部からWindowsメッセージを受け取ることができます。
私はあなたの問題だと思っています。 (私はQTPを知らないので推測のみ)

1

これを処理するには、独自のDelphiエクステンダーをQTP用に書くことができます。 QTPのインストールパスには、C:¥Program Files¥HP¥QuickTest Professional¥help¥Extensibility¥DelphiExtensibility.chmおよびDelphiExtensibility.pdfのpdfが必要です。

0

"そのまま"テストする必要がある場合は、おそらく、これらのコントロールの親に対処するために、よりハードコードされた方法に進む必要があります。

QTPのウィンドウオブジェクトは、そのメソッドを通じて、テキストを含む矩形領域を見つけたり、見つかったテキストをクリックしたりすることができます。 大量のラベルを含む画面上の領域であれば、画面全体をテキストファイルにダンプし、テキストファイルの比較を行うことができます。比較を行う前に取得したテキストを正規化することもできます。

この手法はあまり堅牢ではありませんが、できる限りハードコーディングポイントを使用せずに、矩形を動的に計算すると改善できます。

関連する問題