Vbscript 如何在使用UFT/QTP时放大或缩小网页

Vbscript 如何在使用UFT/QTP时放大或缩小网页,vbscript,automated-tests,qtp,hp-uft,Vbscript,Automated Tests,Qtp,Hp Uft,我想使用UFT控制测试中应用程序网页的放大和缩小功能。这是必需的,因为缩放级别会动态变化,并且很难识别对象。 我找到了一个代码,但是如果您需要在一个实例或开始时更改缩放级别,它会很有用。下面是代码 Function ChangeIEZoom Dim intZoomLevel, objIE intZoomLevel = 110 Const OLECMDID_OPTICAL_ZOOM = 63 Const OLECMDEXECOPT_DONTPROMPTUSER = 2 Set objIE =

我想使用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" 
Dim ShellApp
设置ShellApp=CreateObject(“Shell.Application”)
暗淡的贝壳窗
设置ShellWindows=ShellApp.Windows()
暗淡的内Zoomlevel
intZoomLevel=110
光学变焦常数=63
Const-ollecmdexecopt_dontprompuser=2
昏暗的我
对于i=0的ShellWindows。计数-1
如果InStr(ShellWindows.Item(i).FullName,“iexplore.exe”)为0,则
设置IEObject=ShellWindows.Item(i)
如果结束
如果IEObject.Visible=True,则
而IEObject.Busy=True
等等5
温德
IEObject.ExecWB OLECMDID\u光学缩放、OLECMDEXECOPT\u DONTPROMPTUSER、CLng(intZoomLevel)、vbNull
如果结束
下一个
打印“它有效”

如果主要问题是您希望使用现有的IE实例摆脱新实例创建,请参阅(第一个答案,第三个选项)以获得可能的解决方案。您好,感谢您的回复。我想在测试运行期间更改我的应用程序中的缩放级别。我不想创建新实例,我想更改正在测试的当前网页的缩放级别。谢谢@TheBlastOne-根据您的评论,我能够找到解决方案很高兴能提供帮助!感谢分享解决方案。