我已经创建了一堆UFT 12(前QTP)测试,我还创建了一个批处理文件来运行这些测试 .
当我在本地运行批处理文件时,测试运行正常 .
这是我使用的脚本:
Set qtpApp = CreateObject("QuickTest.Application")
Set fsObj = CreateObject("Scripting.FileSystemObject")
Set qtpResObj = CreateObject ("QuickTest.RunResultsOptions")
qtpApp.Launch
qtpApp.Visible= true
sfolderPath = "C:\QA\ManagerForOracleDB"
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
现在我试图通过启动它的Job远程执行这些批处理文件 . 我面临两个问题:
1st:我有一个带有弹出框的交互式服务检测提示,我应该点击查看消息以切换到另一个屏幕,这对我来说是一个问题,因为我希望UFT在没有任何用户交互的情况下自动启动 .
第二个问题:使用此脚本即使我在服务交互弹出窗口中单击查看消息,UFT也无法启动 .
我在互联网上搜索过,我发现了一个打开UFT的建议,所以我在上面的脚本顶部添加了这个片段:
dim commandLine, WshShell
' Define command line
commandLine = """C:\Program Files (x86)\HP\Unified Functional Testing\bin\UFT.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启动后开始测试 .
谢谢Zied
2 回答
以下是将DCOM配置中的用户更改为交互式的方法 .
在要运行自动化脚本的计算机上,选择“开始”>“运行” . 将打开“运行”对话框 .
输入dcomcnfg并单击“确定” . 将打开“分布式COM配置属性”对话框或“组件服务”窗口(具体取决于您的操作系统),并显示计算机上可用的COM应用程序列表 .
从列表中选择QuickTest Professional Automation,然后打开应用程序的“属性”对话框 . (单击“属性”按钮或右键单击并选择“属性”,具体取决于您的操作系统 . )
在“QuickTest Professional自动化属性”对话框中,单击“标识”选项卡,然后选择“交互式用户”选项 .
感谢TheBlastOne的评论,确实我查看了文档,结果证明是DCOM配置问题,我已将用户类型更改为交互式,这已解决了问题 .
谢谢Zied