如何通过VBScript最大化屏幕?

时间:2018-12-19 19:24:09

标签: vbscript qtp hp-uft maximize-window wscript.shell

显示数据库信息的Web应用程序在全屏模式下而不是小窗口下更具可读性。问题是,我无法从UFT / QTP获得最大化的窗口。

我尝试从Wscript.Shell运行浏览器对象,但是应用程序返回UFT并最大化该窗口,而不是新创建的浏览器窗口。

siteA = "https://google.com"
Const max_window = 3
Set browobj = CreateObject("Wscript.Shell")
Set oShell = CreateObject("WScript.Shell")
'browobj.Run "chrome -k -incognito -url "&siteA
browobj.Run "chrome -incognito -url "&siteA, max_window
oShell.SendKeys "% x"
browobj.sendkeys "{F9}"
browobj.sendkeys "(% )X"
browobj.SendKeys "% x"

Set browobj = Nothing

有什么解决方案可以最大化新浏览器的焦点对象窗口?

编辑:

即使此List of Controls不起作用,即使在下面也无法最大化使用。

SystemUtil.Run "chrome.exe" , siteA ,,,3 
chrome.exe  --incognito --start-maximized

如果您关闭所有chrome实例,则这些控件可以正常工作,但是如果您在chrome中有一个活动窗口,它将获得这些属性。

1 个答案:

答案 0 :(得分:0)

我们在浏览器登录过程中定义了一个函数,该函数可以捕获窗口并将其最大化,因此我们的UFT进程可以使用(几乎)全屏浏览器运行-我们不需要隐藏菜单栏等。我们正在使用的功能:

Public Function MISC_MaximiseBrowser(ByVal oBrowser, ByRef ErrorMsg)
    LOG_Write vbNewLine & "MISC_MaximiseBrowser"
    LOG_Write "oBrowser: " & oBrowser.GetROProperty("TestObjectName")

    Dim Hwnd
    dim bIsMax, bIsMaxable

    MISC_MaximiseBrowser = True

    Hwnd = oBrowser.Object.HWND

    If Window("hwnd:=" & Hwnd).GetROProperty("maximized") Then
        bIsMax = True
    Else
        bIsMax = False
    End If

    If Window("hwnd:=" & Hwnd).GetROProperty("maximizable") Then
      bIsMaxable = True
    Else
      bIsMaxable = False
    End If

    If Not bIsMax And bIsMaxable Then
        Window("hwnd:=" & Hwnd).Maximize
    End If

End Function

此操作是接受您正在使用的Browser UFT对象并抓住它的句柄。如果浏览器尚未最大化,并且有可能将其最大化,那么它将这样做。

您可以在函数开始时忽略LOG_Write语句-这些语句用于我们的内部记录步骤