0

显示数据库信息的 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

使用新浏览器的焦点对象最大化窗口的任何解决方案?

编辑:

即使在下面也不会从这个控件列表中最大化也不起作用。

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

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

4

1 回答 1

1

我们在浏览器登录过程中定义了一个函数,该函数抓取窗口并将其最大化,以便我们的 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函数开头的语句 - 这些语句用于我们的内部日志记录步骤

于 2018-12-20T11:06:21.217 回答