Testing UFT 12.0无法使用.Exists属性同步对象

Testing UFT 12.0无法使用.Exists属性同步对象,testing,automated-tests,qtp,hp-uft,Testing,Automated Tests,Qtp,Hp Uft,从最近几天开始,我尝试同步两个相互依赖的对象以执行它们 例:对象B应该仅在对象A完成后执行 现在,在我的场景中,对象A需要一些时间来执行,为此,我需要同步两个对象 对象的完成将产生一个图像,该图像将告诉用户该过程成功完成或失败 下面是我的代码: sLoop = True Do while sLoop If (Browser("ABC").Page("PQR").Frame("XYZ").Image("BatchSuccess").Exist) then msgbox "in if"

从最近几天开始,我尝试同步两个相互依赖的对象以执行它们

例:对象B应该仅在对象A完成后执行

现在,在我的场景中,对象A需要一些时间来执行,为此,我需要同步两个对象

对象的完成将产生一个图像,该图像将告诉用户该过程成功完成或失败

下面是我的代码:

sLoop = True

Do while sLoop

If (Browser("ABC").Page("PQR").Frame("XYZ").Image("BatchSuccess").Exist) then
    msgbox "in if"
    sLoop = false
Else
    msgbox "in else"
    sLoop = true
End If
Loop
其他活动

我的IF条件在得到满足之前被执行。 有一个正在进行的过程的图像,UFT认为是成功的

注意:执行对象时还有一个图像。观察,UFT无法区分这两幅图像

尝试使用WaitProperty方法。Exist在应用程序中找到您的对象时将返回true。 比如说

objectA.WaitPropertyOptions fromObjectSpy,someSpecificContent


optionFromObjectSpy-innerhtml等。

只要看看你的代码和你的问题,我脑海中就会浮现一件事,那就是你可以在exist语句中使用等待时间。 比如:

或者,您也可以创建一个函数来检查浏览器的readystate是否为4(假定其IE为4)

do while ie.readystate <> 4
   Wait(1)
Loop
在对图像对象执行任何操作之前调用函数。应该有用。

试试下面的方法-

While not Browser("ABC").Page("PQR").Frame("XYZ").Image("BatchSuccess").Exist
  Wait 1
  Browser("ABC").Sync
Wend
    'your code here after object A is synchronized 
     Browser("ABC").Page("PQR").Frame("XYZ").Image("BatchSuccess").Click

我已尝试以下等待属性..'如果BrowserABC.PagePQR.FrameXYZ.ImageBatchSuccess.WaitPropertynameProp,BatchSuccess.gif循环,则代码'looping=TRUE Do,如果循环'code'代码为无限,则循环结束。。不在If条件中输入。如果对象spycode中的图像属性中存在nameProp,则它应该可以工作,如下所示:looping=TRUE Do,同时循环If BrowserABC.PagePQR.FrameXYZ.ImageBatchSuccess.WaitPropertynameP??rop,BatchSuccess.gif Then looping=FALSE Else looping=TRUE End If Loop不起作用;尝试以下操作:在浏览时执行循环abc.PagePQR.FrameXYZ.ImageBatchSuccess.WaitPropertynameP‌​rop,BatchSuccess.gif=false。我还是不太清楚nameProp。您到底为这个变量设置了什么?可能QTP无法识别该属性
While not Browser("ABC").Page("PQR").Frame("XYZ").Image("BatchSuccess").Exist
  Wait 1
  Browser("ABC").Sync
Wend
    'your code here after object A is synchronized 
     Browser("ABC").Page("PQR").Frame("XYZ").Image("BatchSuccess").Click