检查当前QTP测试执行是否是交互式的最有效方法是什么,即不是QC测试实验室启动的QC测试集执行的一部分?
你们知道一个很酷的方式吗? WR曾经有一个批处理运行标志,可以从IDE中清除所有执行。也许QTP有这样的东西,我忽略了它?
首先,我考虑过查看OnError
属性:
Set qtApp = getObject("","QuickTest.Application")
qtApp.Test.Settings.Run.OnError
现在返回以下其中一个可能的值:
“Dialog”,“NextIteration”,“Stop”或“NextStep”。
这样我就可以查看OnError
设置,该设置可能是<> “对话”和<>当执行是测试集的一部分时,“停止”,但是:
答案 0 :(得分:2)
无需转到自动化对象,它在Setting
对象中公开。
If Setting("IsInTestDirectorTest") Then
Print "Run from QC"
Else
Print "Not run from QC"
End If
请注意,TestDirector(TD)是QualityCenter(QC)的历史名称。
答案 1 :(得分:0)
可能是使用
的选项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
。不幸的是,如果您以交互方式运行GUI测试,它将返回true
,因此它不是一个完整的解决方案。
但由于其他选项不适用于BPT组件,我现在正在使用此选项。