automated-testsqtphp-quality-center

Can I determine if current test execs from test lab or interactively from within QTP IDE?


What is the most efficient way to check if the current QTP test execution is interactive, i.e. not part of a QC test set execution launched from the QC test lab?

Do you guys know a cool way? WR used to have a batch run flag which reliably was cleared for all executions from within the IDE. Maybe QTP has something like this, and I overlooked it?

First, I thought about looking at the OnError property:

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

qtApp.Test.Settings.Run.OnError now returns one of these possible values: "Dialog", "NextIteration", "Stop" or "NextStep".

This would allow me to look at the OnError setting, which probably is <> "Dialog" and <> "Stop" when execution is part of a test set, but:


Solution

  • No need to go to the automation object, it is exposed in the Setting object.

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

    Note that TestDirector (TD) is the historical name of QualityCenter (QC).