Могу ли я определить, работает ли текущий тест из лаборатории тестирования или в интерактивном режиме в QTP IDE?

Каков наиболее эффективный способ проверить, является ли текущее выполнение теста 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 запутались и запустили второй экземпляр QTP, создав много проблем...)
  • Тестировщик может выполнить "интерактивный" запуск из среды IDE QTP с этим параметром, установленным в "NextStep" или "NextIteration", что я бы тогда неправильно интерпретировал в своем коде.
  • Это не работает, даже если диалоги не появляются (из-за выполнения из набора тестов QC), возвращаемое значение - "Диалог". DOH!

2 ответа

Решение

Не нужно идти к объекту автоматизации, он выставлен в Setting объект.

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

Обратите внимание, что TestDirector (TD) является историческим именем QualityCenter (QC).

Это может быть вариант для использования

Public Function IsTestSetRun ()
    Dim Result: Result=false
    If not QCUtil is Nothing then
        If not QCUtil.CurrentTestSetTest is Nothing then
            Result=true
        End If
    End If
    IsTestSetRun=Result
End Function

который основан на QCUtil.CurrentTestSetTest, К сожалению, это возвращается true если вы запускаете тест GUI в интерактивном режиме, значит, это не совсем полное решение.

Но поскольку другая опция не работает с компонентами BPT, я сейчас использую эту опцию.

Другие вопросы по тегам