我正在使用UFT 12.51在IE11上自动化基于Web的应用程序.这是我的场景:
我必须经过几页才能完成我正在尝试自动化的过程(准确地说是9页).在第4页上,我单击一个打开框架的链接(作为弹出窗口).我输入所需信息,然后单击按钮提交关闭框架的信息,并将我返回到浏览器的第4页.这是我的问题开始的地方:此时UFT停止识别页面上的任何元素.它认为有一个页面,但不知道它有任何子'可见'对象.如果我再次手动点击链接再次显示框架并关闭框架,UFT将再次开始识别页面上的对象.当链接对UFT不可见时,是否有一种方法可以触发链接点击(我有URL)再次打开Frame?如果我能做到这一点,我将能够关闭框架,页面上的对象将再次可见..希望:)
我尝试过像'devicereplay',browser.navigate,sendkeys这样的东西,但它们都没有工作.不幸的是,由于我的应用程序的性质,我无法提供任何屏幕打印.任何帮助都会非常感激,因为我现在已经试图解决这个问题2天没有运气了.
码
Dim oDR : Set oDR = CreateObject("Mercury.DeviceReplay") ' Lets get the X and Y chordinates for 'Next Step' button Dim iX, iY iX = Browser("MyBrowser").Page("MyPage").Link("NextStep").GetROProperty("x") + 5 iY = Browser("MyBrowser").Page("MyPage").Link("NextStep").GetROProperty("y") + 5 If MyFunction(dCurrVals, sErrorMsg) Then LOG_ReportEvent "PASS", "Set Investment/Allocate", "Successfully initialised page" Else LOG_ReportEvent "FAIL", "Set Investment/Allocate", sError End If 'Browser("MyBrowser").Page("MyPage").Object.body.doscroll "scrollbarPageUP" wait(1) oDR.MouseMove iX, iY oDR.MouseClick iX, iY, 0 Set oDR = Nothing Browser("MyBrowser").RefreshWebSupport Wait(1) Browser("MyBrowser").Page("MyPage").Link("Search") 'Browser("MyBrowser").Navigate "MyURL" 'Browser("MyBrowser").Page("MyPage").Sync 'Browser("MyBrowser").Page("MyPage").Link 'Wait(1) 'Browser("MyBrowser").Page("MyPage").Link("Search") 'Browser("MyBrowser").Page("MyPage").WebElement("Search").FireEvent "onclick"
注意
出于安全原因,我更改了对象的名称,但上面的代码只是我尝试过的一个例子.dCurrVals
是在函数调用之前预先填充的字典对象