Могу ли я определить, работает ли текущий тест из лаборатории тестирования или в интерактивном режиме в 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, я сейчас использую эту опцию.