athenalich 发表于 2011-6-24 00:07:43

跪求~~~无法获取顶层弹出窗口的对象

各位大虾,我在录制时遇到这样一个问题:
最顶层的弹出窗口无法添加到对象库中。
架构是这样的:最底一层是页面,然后中间层有个弹出窗口,最顶层还是个弹出窗口,最顶层的弹出窗口是中间层的从属窗口。中间层的弹出窗口在最顶层窗口弹出后置灰。用SPY识别可以最顶层窗口,但是无论是手工添加还是自动添加都无法成功添加到对象库中。
有哪位大虾可以帮忙~跪求

lyscser 发表于 2011-6-24 08:35:22

你所说的两层弹出框,一层是模态窗口(Window对象),一层是Dialog对话框吧?
如果是的话,你先试试如下步骤:
1、关闭浏览器和QTP,并且清理掉所有无关的浏览器窗口;
2、打开QTP的remote agent(开始-所有程序-QuickTest Professional-tools-Remote Agent);
3、打开QTP;
4、打开被测应用
这样重新添加一般都可以添加进去,如果还不行建议使用描述性语言去匹配(直接在QTP中执行ClickDialogWithoutJudge):

Public Function ClickDialogWithoutJudge
         Dim inx:inx = 0
      
         Set DialogObject = Description.Create()
         DialogObject("micclass").Value = "Dialog"
         Set WindowsDialog = Desktop.ChildObjects(DialogObject)
      
         For inx = 0 to WindowsDialog.Count - 1
                      Set WinButtonObject = Description.Create()
                      WinButtonObject("micclass").Value = "WinButton"
                      Set WindowsButton = WindowsDialog(inx).ChildObjects(WinButtonObject)               
                      WindowsButton(0).Click
                      Set WindowsButton = Nothing
                      Set WinButtonObject = Nothing
         Next
      
         Set WindowsDialog = Nothing
         Set DialogObject = Nothing
End Function
页: [1]
查看完整版本: 跪求~~~无法获取顶层弹出窗口的对象