Testing UFT在某些播放中未识别窗口

Testing UFT在某些播放中未识别窗口,testing,vbscript,automation,qtp,hp-uft,Testing,Vbscript,Automation,Qtp,Hp Uft,我在UFT中使用描述性编程。在播放过程中,我想检查Windows打印对话框是否出现。然后我想点击对话框中的取消按钮。 我的问题:QTP偶尔无法识别打印对话框,因此单击取消按钮失败。 这怎么可能有时失败,有时成功 我的代码语法如下所示: Set Window_EnterMeter = browser_servicemanager.Window("regexpwndtitle:=Enter Meters.*") Set dialog_Print = Window_EnterMeter.Dialog

我在UFT中使用描述性编程。在播放过程中,我想检查Windows打印对话框是否出现。然后我想点击对话框中的取消按钮。 我的问题:QTP偶尔无法识别打印对话框,因此单击取消按钮失败。 这怎么可能有时失败,有时成功

我的代码语法如下所示:

Set Window_EnterMeter = browser_servicemanager.Window("regexpwndtitle:=Enter Meters.*") 
Set dialog_Print = Window_EnterMeter.Dialog("regexpwndtitle:=Print") 
Set winbtn_CalcelPrint = dialog_Print.WinButton("regexpwndtitle:=Cancel") 

fn chckprintpopupwndow() 
{ ''''''''Navigating to that page 
          call Absolutehighlight(Button_Action) 
          call Absolutehighlight(Meter_Entry) 
          call Absolutehighlight(PrintMeter_Opt2) 
          AbsoluteClick(PrintMeter_Opt2) 
          EnterMeters_Window.WebElement("html id:=ctl00_Save_BTN_C").Click 

'''''''By click on abve option window popup print option appears and UFT not identifying that window all times, so clicking on cancel button not doing so TC fails 
          dialog_Print.Activate 
          AbsoluteClick(winbtn_CalcelPrint) 
          EnterMeters_Window.WebElement("html id:=ctl00_Cancel_BTN_C").Click 
} 

您的问题可能与您在导航到对象所在的页面之前存储对对象的引用有关

相反,在单击打开打印对话框的按钮后,尝试以下操作(记住输入相关的对象标识符):


我解决了这样的问题,而不是点击我称之为close属性的窗口上的取消按钮 对话框\u Print.Activate 对话框\u Print.Close 这很好,但我仍然不明白为什么UFT不确定一些回放窗口

而绝对点击功能只是这样做的: 绝对单击(对象) {object.Refreshobject 对象。单击}


我用这个来点击,以避免另一个UFT问题,我找到了这个问题的根本原因,实际上我在虚拟机(VM)中运行了整个脚本。在一些回放期间,我最小化VM并在本地系统上工作,因此在最小化UFT期间,无法检测到winobject,并且在最小化模式下(发送键)不会工作任何按键事件。我们可以通过更新注册表编辑来解决最小化问题。有关更多详细信息,请访问:-

你在那里做了一些奇怪的事情,但我不知道你的AUT。对象存储库并不完全是邪恶的-有什么原因不能使用它吗?在处理完全可点击的WinButtons时,您真的需要像AbsoluteClick这样的东西吗?而且,fn chckprintpopupwindow(){}不是VBScript/UFT语法。那么您实际在哪里运行这段代码呢?fn{..}构造是什么样的语法?多年来,我是否错过了一些奇异的VBS语法属性?或者,使用.RefreshObject强制QTP在下一个重播步骤中重新标识测试对象。
Window().Dialog().Activate
AbsoluteClick Window().Dialog().WinButton()
Window().WebElement().Click