Как максимизировать экран из VBScript?

Веб-приложение, отображающее информацию о базе данных, гораздо удобнее для чтения в полноэкранном режиме, чем в небольшом окне. Проблема в том, что я не могу получить окно для максимизации от 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, оно получит эти свойства.

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 операторы в начале функции - это для наших внутренних шагов регистрации

Другие вопросы по тегам