注:本文转自http://relevantcodes.com/qtp-browser-methods-activate-maximize-minimize/ ,但原本是英文版本,我大致翻译了,有不准确的地方大家可以纠正,有时间的话我会陆续翻译该作者的文档,想看中文的童鞋请继续关注哦!该文中的脚步本人都实际操作过,大家可直接使用哦,不明白的地方可相互交流;
QTP中Browser Methods: .Activate .Maximize .Minimize的方法:
本文显示了一个快速激活、最小化、最大化浏览器的方法;不像标准的Windows Window
object,Browser对象不支持Activate .Maximize .Minimize方法,因此我们需要创建自定义函数并且通过RegisterUserFunc
方法
把它绑定到Browser对象上;(关RegisterUserFunc方法可以查看QTP的help,本文不再讲解)
这唯一的技巧就是获得Browser的句柄Handle,用该句柄代替Window object描述中的句柄值,并使同Window的Activate方法代替;
一、Activate
Function BrowserActivate(Object)
Dim hWnd
hWnd = Object.GetROProperty("hwnd")
On Error Resume Next
Window("hwnd:=" & hWnd).Activate
If Err.Number <> 0 Then
Window("hwnd:=" & Browser("hwnd:=" & hWnd).Object.hWnd).Activate
Err.Clear
End If
On Error Goto 0
End Function
RegisterUserFunc "Browser", "Activate", "BrowserActivate"
QTP中的使用;
Browser("title:= 百度一下,你就知道").Activate
二、Minimize方法
BrowserActivate也可以扩展到最大化和最小化浏览器窗口的方法:
如:
Function BrowserMinimize(Object)
Dim hWnd
hWnd = Object.GetROProperty("hwnd")
On Error Resume Next
Window("hwnd:=" & hWnd).Activate
If Err.Number <> 0 Then
hWnd = Browser("hwnd:=" & hWnd).Object.hWnd
Window("hwnd:=" & hWnd).Activate
Err.Clear
End If
Window("hwnd:=" & hWnd).Minimize
On Error Goto 0
End Function
RegisterUserFunc "Browser", "Minimize", "BrowserMinimize"
QTP中使用:
Browser("百度一下,你就知道").Maximize
三、Maximize
Function BrowserMaximize(Object)
Dim hWnd
hWnd = Object.GetROProperty("hwnd")
On Error Resume Next
Window("hwnd:=" & hWnd).Activate
If Err.Number <> 0 Then
hWnd = Browser("hwnd:=" & hWnd).Object.hWnd
Window("hwnd:=" & hWnd).Activate
Err.Clear
End If
Window("hwnd:=" & hWnd).Maximize
On Error Goto 0
End Function
RegisterUserFunc "Browser", "Maximize", "BrowserMaximize"