我已经使用了.Exist相当多的方法,但我最近转移到一个带有 QTP 11 的新项目(现在使用 WPF 应用程序)(而以前我有 QTP 10)。
现在我想使用object.Exist(2). 奇怪的是,我只在大约 23 秒后得到结果,而不是我期望的 2 秒。
超时是如何工作的?在之前的项目中, usingobject.Exist(2)会等待 2 秒,然后才确定对象不存在。QTP 帮助文件还说它应该只等待 2 秒(指定的超时参数)。现在,它似乎在等待超时参数(2 秒)和对象同步超时(20 秒)。
此外,智能识别已禁用,因此不应等待。使用对象存储库突出显示对象会立即表示该对象不存在。
QTP v10 和 v11 之间的超时行为是否发生了变化?为什么说一个对象不存在需要这么长时间?
我创建了一堆 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 = …Run Code Online (Sandbox Code Playgroud) 我有三个简单的问题.
有人使用QuickTest Pro进行自动化测试吗?
您推荐的任何其他自动化测试应用程序?
自动化测试是个好主意吗?
谢谢
我在可重用的操作中有以下VBScript:
'Gather links
Browser("1").Navigate "http://InternalWebmail/something/inbox.nsf"
set oDesc = Description.Create()
oDesc("micclass").Value = "Link"
set links = Browser("1").Page("Webmail").ChildObjects(oDesc)
Dim links2
links2 = ""
'Filter out irrelevant links
For i = 0 To links.Count-1
If lcase(trim(links(i).GetROProperty("text"))) = lcase(trim(DataTable("ExpectedFrom", dtGlobalSheet))) Then
links2 = links2 + "," + links(i).GetROProperty("url")
End If
Next
Dim final
final = split(mid(links2,2),",") 'Remove leading comma and split into array
'For each link (i.e. for each E-mail received):
'Effectively giving a reusable action an input parameter, I hope
For i = …Run Code Online (Sandbox Code Playgroud) 任何机构都可以向我建议一个我可以在QTP中用于以下场景的功能......
由于有时页面导航需要时间,因此我们的脚本会显示错误.为此,我们使用该wait(time)函数,但它是QTP控件等待的固定时间.我想使用一个函数(我听说过同步函数,但不知道如何使用它),因此QTP只等待导航时间(不多于/少于它).
在给定测试的文件夹中,有以下结构:
Action0
- >快照
- > - >很多*.pngs,*.htmls等
.
.
.
ActionN
用于快照的是什么?从我在http://www.geekinterview.com/question_details/46983上看到的,它们被用于Active Screen视图,我们不使用它.
如果我删除所有快照并通过转到工具 - >选项 - >活动屏幕 - >设置为无关闭它们可能会发生什么?
感谢大家!
我正在从Virtual mechine执行QTP脚本.当VM最小化时,QTP无法单击"窗口"弹出窗口的"确定"按钮.
下面是代码
If Browser("name:=.*").Dialog("text:=Message from webpage","nativeclass:=#32770").Exist(50) Then
Browser("name:=.*").Dialog("text:=Message from webpage","nativeclass:=#32770").Activate
Browser("name:=.*").Dialog("text:=Message from webpage","nativeclass:=#32770").WinButton("text:=OK").Click
End If
Run Code Online (Sandbox Code Playgroud)
虚拟机器操作系统是 - Microsoft Windows XP Professional
谁可以帮我这个事.
如何从启动QTP测试的.vbs文件中获取测试参数?我可以从.vbs文件运行我的测试,没有任何输入参数就好了,但我似乎找不到从文件中获取参数到测试的方法.
这是我到目前为止:
Set qtp = CreateObject("QuickTest.Application")
'Launch QTP
qtp.Launch
'Set QTP visible
qtp.Visible = True
'Run Mode - Fast
qtp.Options.Run.RunMode = "Fast"
'View Results - True
qtp.Options.Run.ViewResults = True
'Open the test
qtp.open "C:\MY\TEST", True
Set test = qtp.Test
Set params = test.ParameterDefinitions.GetParameters()
parameter1 = "par1"
parameter2 = "par2"
params.Item(par1).Value = "This is my first parameter"
params.Item(par2).Value = "This is my second parameter"
Set qtpResultsLocation = CreateObject("QuickTest.RunResultsOptions")
qtpResultsLocation.ResultsLocation = "C:\SOME\RESULTS\FOLDER"
test.Run qtpResultsLocation
test.Close
Msgbox("Closed test.. closing application")
qtp.quit
Run Code Online (Sandbox Code Playgroud)
我觉得需要某种形式test.ParameterDefinitions.SetParameters() …
有没有人知道如何使用vbscript获取当前焦点的IE选项卡的句柄?
我正在尝试使用HP-UFT进行一些自动化,并且需要获得具有焦点的选项卡的句柄,以便我可以关闭它.
UFT将每个选项卡视为自己独立的浏览器,因此我可以获得选项卡集合,但是我无法找到确定哪个选项卡具有当前焦点的方法.
我使用的浏览器是IE.
qtp ×10
vbscript ×4
hp-uft ×3
batch-file ×1
exists ×1
object ×1
popupwindow ×1
runtime ×1
testing ×1