验证UFT由.vbs文件运行还是手动运行的代码或In Action脚本

时间:2018-07-17 18:13:12

标签: qtp hp-uft

验证UFT是由.vbs文件运行还是由手动运行的代码或In Action脚本。例如:

If ( automatically_Variable) = True Then 
    Msgbox "UFT called Automatically"
Else 
    Msgbox " UFT called manually"
End If

2 个答案:

答案 0 :(得分:0)

您可以使用IsInTestDirectorTest设置变量(Test Director是ALM的旧名称)检查是否从ALM运行测试。

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

我不知道是否有办法检查UFT是手动启动还是通过脚本启动,如果脚本无法使UFT可见,则可以检查visible标志。

Set uft = CreateObject("QuickTest.Application")
If Not uft.Visible Then
    MsgBox "UFT called automatically"
Else
    MsgBox "UFT called manually"
End If

答案 1 :(得分:0)

如果使用COM自动化(Quicktest.Application)启动UFT,则始终启动qtpautomationagent.exe进程。 (

但是,如果UFT崩溃,则即使您手动重新启动UFT(和UFT exe),该进程也可能保持打开状态。如果您还在UFT运行中创建Quicktest.Application对象,也会创建该对象,因此它不是那么可靠。

您可以在一天结束时考虑一下UFT环境变量,OS环境变量或标志文件:您如何确保清除脏状态(又名UFT崩溃)

最安全但使用较少的替代方法是测试参数。您只能为特定运行定义它们-也就是当它是从vbs触发时,除了它应该有一个默认值来说明它是手动运行之外。仅当从vbs触发时,这些参数才具有vbs的特定值。紧随其后,如果您运行测试用例,则必须定义新值。仅为特定的测试运行here定义测试参数。

P.S:您可以创建一个自动化脚本,该脚本可以遍历所有测试并自动创建此测试参数。在启动脚本中,只需设置特定于它的值。