2

現在の QTP テストの実行がインタラクティブかどうか、つまり、QC テスト ラボから起動された QC テスト セットの実行の一部ではないかどうかを確認する最も効率的な方法は何ですか?

かっこいい方法知ってる?WR には、IDE 内からのすべての実行に対して確実にクリアされるバッチ実行フラグがありました。QTPにはこのようなものがあるのか​​もしれませんが、見落としていませんか?

OnErrorまず物件を見てみようと思ったのですが、

Set qtApp = getObject("","QuickTest.Application")

qtApp.Test.Settings.Run.OnError"Dialog"、"NextIteration"、"Stop"、"NextStep" のいずれかの値を返すようになりました。

これによりOnError、実行がテスト セットの一部である場合は、おそらく <> "Dialog" および <> "Stop" である設定を見ることができますが、次のようになります。

  • すべての QTP テストで自動化インターフェイスを回避することができました。これが最初の例外です (以前の QTP バージョンは混乱し、2 番目の QTP インスタンスを起動して、多くの問題を引き起こしました...)
  • テスターは、この設定を「NextStep」または「NextIteration」に設定して、QTP IDE 内から「インタラクティブ」な実行を行う可能性がありますが、これをコードで誤解してしまいます。
  • (QC テスト セットからの実行が原因で) ダイアログが表示されない場合でも機能しません。返される値は "Dialog" です。ドー!
4

2 に答える 2

2

自動化オブジェクトに移動する必要はありませんSetting。オブジェクトに公開されます。

If Setting("IsInTestDirectorTest") Then
    Print "Run from QC"
Else
    Print "Not run from QC"
End If     

TestDirector(TD)はQualityCenter(QC)の歴史的な名前であることに注意してください。

于 2010-11-14T13:17:13.177 に答える