Наконец-то я нашел решение для тех, кто использует Windows Machine для запуска тестов любым методом.Ну, реализация не в Java, но вы можете сделать это очень легко.
Используйте AutoIt
инструмент.Он имеет все возможности для обработки окон.Это бесплатный инструмент.
Установить AutoIt: http://www.autoitscript.com/site/autoit/downloads/
Откройте редактор и напишите ниже код для скрытия любого окна.
AutoItSetOption("WinTitleMatchMode", 2)
WinSetState("Title Of Your Window", "", @SW_HIDE)
Чтобы отобразить его, вы можете использовать следующую строку кода.
AutoItSetOption("WinTitleMatchMode", 2)
WinSetState("Title Of Your Window", "", @SW_SHOW)
WinTitleMatchMode
имеет различные параметры, которые можно использовать для соответствия названию Windows.
1 = Match the title from the start (default)`
2 = Match any substring in the title
3 = Exact title match
4 = Advanced mode, see Window Titles & Text (Advanced)
Итак, я сделал: я создал файл .exe небольшой программы и передал параметр в качестве аргумента командной строки, как показано ниже.
Runtime.getRuntime().exec("C:/Diiinnovation/HideNSeek.exe 0 \"" + "Mozilla Firefox" + "\"");
в HideNSeek.exe
- у меня ниже AutoIt Code:
AutoItSetOption("WinTitleMatchMode", 1)
if $CmdLine[0] > 0 Then
if $CmdLine[1] == 0 Then
WinSetState($CmdLine[2], "", @SW_HIDE)
ElseIf $CmdLine[1] == 1 Then
WinSetState($CmdLine[2], "", @SW_SHOW)
Else
EndIf
EndIf
$CmdLine[]
- это массив, который будет иметь все параметры командной строки ...
$CmdLine[0] = number of Parameter
$CmdLine[1] = 1st Parameter after Exe Name
...
Если в заголовке окна есть пробел, вы должны использовать двойные кавычки для передачи его в качестве параметра командной строки, как указано выше.
Ниже строки кода будет выполняться AutoIt exe иесли я передам '0' в 1-м параметре, он скроет окно, а если я передам '1' , то он покажет окна, соответствующие названию.
Runtime.getRuntime().exec("C:/Diiinnovation/HideNSeek.exe 0 \"" + "Mozilla Firefox" + "\"");
Надеюсь, это поможет вам.Спасибо!