通过批处理文件远程启动UFT (QTP)测试



我已经创建了一堆UFT 12 (ex QTP)测试,并且我还创建了一个批处理文件来运行这些测试。

当我在本地运行批处理文件时,测试运行正常。

下面是我使用的脚本:
 Set qtpApp = CreateObject("QuickTest.Application")
 Set fsObj = CreateObject("Scripting.FileSystemObject")
 Set qtpResObj = CreateObject ("QuickTest.RunResultsOptions")
qtpApp.Launch
qtpApp.Visible= true
sfolderPath = "C:QAManagerForOracleDB"
Set mainFolderObj = fsObj.GetFolder (sfolderPath)
Set testSubFolders = mainFolderObj.SubFolders
sPath = "C:&formatDate&"
For each folderobj in testSubFolders
chkfolderobj = folderObj.Path & "Action0"
if ( fsObj.FolderExists(chkfolderobj)) then 'The Folder is a QTP test folder'
qtpApp.Open folderObj.Path, True, False
 sResultFolderPath = sPath&folderObj.Name & "Res" 'Set the results location'
 qtpResObj.ResultsLocation = sfolderPath
 qtpApp.Test.Run qtpResObj , True
 strResult = qtpApp.Test.LastRunResults.Status
 WScript.echo strResult
 qtpApp.Test.Close
 End if
 Next
 'Send Mail
 qtpApp.Quit
 'Release the file System objects 
 Set testSubFolders = Nothing
 Set mainFolderObj = Nothing
 Set fsObj = Nothing 
 Set qtpResObj= Nothing 
 Function formatDate ()
 str= now ()
    str=replace(str,"/","")
    str=replace(str,":","")
    str=replace(str," ","")
    formatDate = mid (str,1,len(str-2))
End Function

现在我正试图通过一个启动它的作业远程执行这些批处理文件。我面临两个问题:

1:我有一个交互式服务检测提示,弹出一个弹出框,我应该点击查看消息,以便切换到另一个屏幕,这对我来说是一个问题,因为我希望UFT在没有任何用户交互的情况下自动启动。

第二个问题:使用这个脚本,即使我在服务交互弹出框中单击查看消息,UFT也不会启动。
我在互联网上搜索过,我发现了一个建议,首先打开UFT,所以我在上面的脚本顶部添加了这个片段:

dim commandLine, WshShell
' Define command line 
commandLine = """C:Program Files (x86)HPUnified Functional TestingbinUFT.exe"""
Set WshShell = CreateObject("WScript.Shell")
' Start QTP via command line
WshShell.Run commandLine, 8, true
' Wait a while until QTP is loaded (here 10 secs)
WScript.Sleep 10000
set WshShell=nothing  

使用此脚本,在我单击交互式服务检测消息后启动UFT,但测试没有启动。

那么继续我的问题是如何避免交互式服务检测并直接启动UFT,以及如何在UFT启动后启动测试。

谢谢zy

如何将DCOM配置中的用户更改为交互式。

  1. 在要运行自动化脚本的计算机上,选择"开始>运行"。打开运行对话框。
  2. 输入dcomcfg,单击"确定"。分布式COM配置属性对话框或组件服务窗口打开(取决于您的操作系统),并显示计算机上可用的COM应用程序列表。
  3. 从列表中选择QuickTest Professional Automation并打开应用程序的属性对话框。(点击属性按钮或右键单击并选择属性,具体取决于您的操作系统。)

  4. 在"快速测试专业自动化属性"对话框中,单击"身份"选项卡并选择交互用户选项。

感谢TheBlastOne的评论,确实我看了文档,结果是一个DCOM配置问题,我已经将用户类型更改为交互式,这已经解决了问题。

谢谢zy

最新更新