显示数据库信息的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中有一个有效的窗口,则会采用这些属性。
我们在浏览器登录过程中定义了一个函数,可以抓住窗口并最大化它,以便我们的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
语句 - 这些语句适用于我们的内部记录步骤