1

我在 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 
} 
4

3 回答 3

2

我发现了这个问题的根本原因,实际上是在虚拟机(VM)中运行整个脚本。在某些播放期间,我最小化 VM 并在本地系统上工作,因此在最小化 UFT 期间无法检测到 winobject,并且在最小化模式下也不会工作(发送键)任何按键事件。我们可以通过更新注册表编辑来解决最小化问题。有关更多详细信息,请访问:- 我们可以通过保持会话最小化在远程机器上执行 QTP 脚本吗

于 2014-01-18T07:54:29.523 回答
1

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

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

Window().Dialog().Activate
AbsoluteClick Window().Dialog().WinButton()
Window().WebElement().Click
于 2013-09-29T09:59:37.033 回答
0

我解决了这样的问题,而不是单击该窗口上的取消按钮,我调用了关闭属性 dialog_Print.Activate dialog_Print.Close 这工作正常,但我仍然无法理解为什么 UFT 不识别该窗口进行某些播放?

而绝对点击功能只是这样做: AbsoluteClick(Object) { object.Refreshobject object.Click }

并使用它进行点击以避免另一个 UFT 问题

于 2013-09-30T19:23:40.537 回答