UFT没有以编程方式关闭/退出测试运行

时间:2014-11-18 11:03:09

标签: testing vbscript automated-tests hp-uft

我在UFT中运行自动化测试套件,通过VB脚本调用。问题是测试运行后,VB脚本无法以编程方式关闭UFT。

VB脚本:

Dim Test_path
Test_path = Script_Name
On Error Resume next
Dim qtApp 'As QuickTest.Application ' Declare the Application object variable
Dim qtTest 'As QuickTest.Test ' Declare a Test object variable

Set qtApp = CreateObject("QuickTest.Application") ' Create the Application object

qtApp.Launch ' Start QuickTest
qtApp.Visible = True ' Make the QuickTest application visible

' Set QuickTest run options
qtApp.Options.Run.RunMode = "Fast"
qtApp.Options.Run.ViewResults = False
qtApp.Open Test_path, True ' Open the test in read-only mode

' set run settings for the test
Set qtTest = qtApp.Test

'set result settings
Set qtResultsOpt = CreateObject("QuickTest.RunResultsOptions") 
qtResultsOpt.ResultsLocation = Location

' Run Tests
' THIS IS WHERE I TELL UFT TO RUN TESTS
' AND THE CONTROL NEVER COMES BACK TO VB SCRIPT
' UFT RUNS TESTS AND STAYS IDLE
qtTest.Run qtResultsOpt

qtTest.Close
qtApp.quit

我从命令行运行VB脚本,句柄永远不会返回到命令提示符。

知道如何在执行测试后关闭UFT吗?

2 个答案:

答案 0 :(得分:0)

如果没有响应,尝试在关闭或退出后没有设置qtApp,如果要将句柄返回到命令行,可以使用窗口名称使用wscript.shell对象的appActivate方法。希望这个帮助

答案 1 :(得分:0)

因为这行

qtTest.Run qtResultsOpt

仍然没有完成(也许你的Run在测试中循环调用另一个测试,我猜),所以你不能把它分解到下一行。

尝试将您的脚本分成两个.vbs文件。其中一个确实启动了QTP&运行,另一个是你的主脚本将调用它并做其他事情。

Dim objShell
Set objShell = Wscript.CreateObject("WScript.Shell")
objShell.Run "..\LaunchAndRunQTP.vbs"
Set objShell = Nothing

希望有所帮助。