如何在使用 UFT/QTP 时放大或缩小网页
How to Zoom in or Zoom out in a webpage while using UFT/QTP
我想使用 UFT 控制被测应用程序网页的放大和缩小功能。这是必需的,因为缩放级别会动态变化并且很难识别对象。
我找到了一个代码,但如果您需要在一个实例或开始时更改缩放级别,它会很有用。下面是代码
Function ChangeIEZoom
Dim intZoomLevel, objIE
intZoomLevel = 110
Const OLECMDID_OPTICAL_ZOOM = 63
Const OLECMDEXECOPT_DONTPROMPTUSER = 2
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate ("www.google.com")
While objIE.Busy = True
wait 5
Wend
objIE.ExecWB OLECMDID_OPTICAL_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng(intZoomLevel), vbNull
End Function
使用此代码,它会打开一个新的浏览器并将其导航到 URL。
我不希望它创建浏览器的新实例。
我需要的是它更改已经在测试执行中的同一页面上的缩放级别,以及在开始时不知道需要更改缩放级别的页面,并且根据它标识的事实,它可能需要也可能不需要更改某些对象。
有没有人遇到同样的问题或有解决办法?
我找到了一个解决方案 - 结合您在评论中提到的内容。如果您想更改正在处理的当前网页的缩放级别,则此方法有效。当您想放大和缩小多个实例时会有所帮助
Dim ShellApp
Set ShellApp = CreateObject("Shell.Application")
Dim ShellWindows
Set ShellWindows = ShellApp.Windows()
Dim intZoomLevel
intZoomLevel = 110
Const OLECMDID_OPTICAL_ZOOM = 63
Const OLECMDEXECOPT_DONTPROMPTUSER = 2
Dim i
For i = 0 To ShellWindows.Count - 1
If InStr(ShellWindows.Item(i).FullName, "iexplore.exe") <> 0 Then
Set IEObject = ShellWindows.Item(i)
End If
If IEObject.Visible = True Then
While IEObject.Busy = True
wait 5
Wend
IEObject.ExecWB OLECMDID_OPTICAL_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng(intZoomLevel), vbNull
End If
Next
print "it works"
我想使用 UFT 控制被测应用程序网页的放大和缩小功能。这是必需的,因为缩放级别会动态变化并且很难识别对象。 我找到了一个代码,但如果您需要在一个实例或开始时更改缩放级别,它会很有用。下面是代码
Function ChangeIEZoom
Dim intZoomLevel, objIE
intZoomLevel = 110
Const OLECMDID_OPTICAL_ZOOM = 63
Const OLECMDEXECOPT_DONTPROMPTUSER = 2
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate ("www.google.com")
While objIE.Busy = True
wait 5
Wend
objIE.ExecWB OLECMDID_OPTICAL_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng(intZoomLevel), vbNull
End Function
使用此代码,它会打开一个新的浏览器并将其导航到 URL。
我不希望它创建浏览器的新实例。 我需要的是它更改已经在测试执行中的同一页面上的缩放级别,以及在开始时不知道需要更改缩放级别的页面,并且根据它标识的事实,它可能需要也可能不需要更改某些对象。
有没有人遇到同样的问题或有解决办法?
我找到了一个解决方案 - 结合您在评论中提到的内容。如果您想更改正在处理的当前网页的缩放级别,则此方法有效。当您想放大和缩小多个实例时会有所帮助
Dim ShellApp
Set ShellApp = CreateObject("Shell.Application")
Dim ShellWindows
Set ShellWindows = ShellApp.Windows()
Dim intZoomLevel
intZoomLevel = 110
Const OLECMDID_OPTICAL_ZOOM = 63
Const OLECMDEXECOPT_DONTPROMPTUSER = 2
Dim i
For i = 0 To ShellWindows.Count - 1
If InStr(ShellWindows.Item(i).FullName, "iexplore.exe") <> 0 Then
Set IEObject = ShellWindows.Item(i)
End If
If IEObject.Visible = True Then
While IEObject.Busy = True
wait 5
Wend
IEObject.ExecWB OLECMDID_OPTICAL_ZOOM, OLECMDEXECOPT_DONTPROMPTUSER, CLng(intZoomLevel), vbNull
End If
Next
print "it works"