Testing UFT 12.0无法使用.Exists属性同步对象
从最近几天开始,我尝试同步两个相互依赖的对象以执行它们 例:对象B应该仅在对象A完成后执行 现在,在我的场景中,对象A需要一些时间来执行,为此,我需要同步两个对象 对象的完成将产生一个图像,该图像将告诉用户该过程成功完成或失败 下面是我的代码: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"
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.WaitPropertynameProp,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