我已经使用了.Exist方法了很多,但我最近搬到了一个新项目(现在使用
WPF应用程序)和QTP 11(而之前我有QTP 10).
现在,我想通过使用object.Exist(2)来检查消息是否存在.奇怪的是,我只在~23秒后得到一个结果,而不是我期待的2秒.
超时如何工作?在以前的项目中,使用object.Exist(2)会在确定对象不存在之前等待2秒. QTP帮助文件还说它应该只等待2秒(指定的超时参数).
现在,似乎它正在等待超时参数(2秒)和对象同步超时(20秒).
此外,智能标识已禁用,因此不应等待.使用对象存储库突出显示对象会立即说明该对象不存在.
QTP v10和v11之间的超时行为是否已更改?
为什么说对象不存在需要这么长时间?
最佳答案 Exist方法不适用于最后一个对象.
它按层次结构工作 – 这意味着此方法在检查最后一个父对象之前检查每个父对象.
超时仅适用于最后一个对象.
如果你想立即收到答案,我建议你使用以下代码 –
if WPFWindow("x").Exist(0) Then
if WPFWindow("x").WPFButton("y").Exist(0) Then
'action
End if
End if