51Testing软件测试论坛

标题: 关于QTP10根据句柄最大化ie的问题 [打印本页]

作者: 风雪夜归人    时间: 2009-9-9 11:29
标题: 关于QTP10根据句柄最大化ie的问题
在QTP9.2中,获取IE句柄有两种方法(据我所知)
Browser("xxx").GetRoProperty("hwnd")
Browser("xxx").Object.HWND
而且,两种方法取出来得结果是一样的

当我使用QTP10.0的时侯,发现这两种方法取出来的结果不同了,如果把浏览器定义为Window( 比如说得到句柄,然后最大化ie)就需要使用.object.HWND的方法.可是,有的情况下,第二种方法取不到句柄,这时候,我如果要最大化ie,应该怎么做?麻烦大家提供个思路,谢谢
作者: 月上百合    时间: 2009-9-9 11:34
楼上的你是怎么学习QTP的呀
作者: 风雪夜归人    时间: 2009-9-9 11:39
慢慢学,我貌似没有系统的学习过,用到什么就看什么~汗!
作者: 风雪夜归人    时间: 2009-9-9 11:41
很多情况下都是看帮助,有的函数或者什么的用法简直就是蒙的~可是蒙对了就好~给提供个思路嘛~
Window("text:=xxx").Maximize这个我用了,不过好像不行~
作者: mklodoss    时间: 2009-9-9 12:19
第二种方法取到句柄和第一个方法取到的值不一样吗?如果是同一个浏览器的话应该是一样的。句柄在窗口关闭后重新打开是会变的哟。即使是同一个窗口。会不会是这个问题?
作者: 风雪夜归人    时间: 2009-9-9 12:23
不是,明显不是,ls的,难道你也用QTP10?会不会是我的QTP10装的有问题,我往这个方向考虑了
作者: 风雪夜归人    时间: 2009-9-9 12:25
Set shell = CreateObject("Shell.Application")  
Set shellWindows = shell.Windows

For Each ie In shellWindows
        If   InStr(1,  ie.FullName,   "IEXPLORE.EXE",   vbTextCompare)   <>   0 then
                Window("hwnd:=" &ie.HWND).Maximize
        End if
Next


这个方法明显可以,但是是最大化所有的ie,有点不完美~
作者: 风雪夜归人    时间: 2009-9-9 12:31
Set shell = CreateObject("Shell.Application")  
Set shellWindows = shell.Windows
       'msgbox "started"
For Each ie In shellWindows
        If   InStr(1,  ie.FullName,   "IEXPLORE.EXE",   vbTextCompare)   <>   0 then
                If Instr(1, Window("hwnd:=" &ie.HWND).GetROProperty("text"), "test.doc", vbTextCompare) <> 0 Then
            Window("hwnd:=" &ie.HWND).Maximize
                End If
        End if
Next

就这样了,我所要最大化的IE的标题里面有个"test.doc",现在问题解决了~




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