51Testing软件测试论坛

标题: 跪求~~~无法获取顶层弹出窗口的对象 [打印本页]

作者: athenalich    时间: 2011-6-24 00:07
标题: 跪求~~~无法获取顶层弹出窗口的对象
各位大虾,我在录制时遇到这样一个问题:
最顶层的弹出窗口无法添加到对象库中。
架构是这样的:最底一层是页面,然后中间层有个弹出窗口,最顶层还是个弹出窗口,最顶层的弹出窗口是中间层的从属窗口。中间层的弹出窗口在最顶层窗口弹出后置灰。用SPY识别可以最顶层窗口,但是无论是手工添加还是自动添加都无法成功添加到对象库中。
有哪位大虾可以帮忙~跪求
作者: lyscser    时间: 2011-6-24 08:35
你所说的两层弹出框,一层是模态窗口(Window对象),一层是Dialog对话框吧?
如果是的话,你先试试如下步骤:
1、关闭浏览器和QTP,并且清理掉所有无关的浏览器窗口;
2、打开QTP的remote agent(开始-所有程序-QuickTest Professional-tools-Remote Agent);
3、打开QTP;
4、打开被测应用
这样重新添加一般都可以添加进去,如果还不行建议使用描述性语言去匹配(直接在QTP中执行ClickDialogWithoutJudge):

  1. Public Function ClickDialogWithoutJudge
  2.            Dim inx:inx = 0
  3.         
  4.            Set DialogObject = Description.Create()
  5.            DialogObject("micclass").Value = "Dialog"
  6.            Set WindowsDialog = Desktop.ChildObjects(DialogObject)
  7.         
  8.            For inx = 0 to WindowsDialog.Count - 1
  9.                       Set WinButtonObject = Description.Create()
  10.                       WinButtonObject("micclass").Value = "WinButton"
  11.                       Set WindowsButton = WindowsDialog(inx).ChildObjects(WinButtonObject)               
  12.                       WindowsButton(0).Click
  13.                       Set WindowsButton = Nothing
  14.                       Set WinButtonObject = Nothing
  15.            Next
  16.         
  17.            Set WindowsDialog = Nothing
  18.            Set DialogObject = Nothing
  19. End Function
复制代码





欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2