如何隐藏Firefox窗口(Selenium WebDriver)?

当我同时执行多个测试时,我不想保持Firefox浏览器窗口可见。我可以使用来最小化它,selenium.minimizeWindow()但我不想这样做。

有什么办法可以隐藏Firefox窗口吗?我正在使用FireFox WebDriver。

回答:

最终,我找到了使用Windows Machine通过任何方法运行测试的用户的解决方案。嗯,实现不是用Java编写的,但是您可以很容易地做到。

使用AutoIt工具。它具有处理窗口的所有功能。这是一个免费工具。

  1. 安装AutoIt: ://www.autoitscript.com/site/autoit/downloads/

  2. 打开编辑器并编写以下代码以隐藏任何窗口。

    AutoItSetOption("WinTitleMatchMode", 2)

    WinSetState(“Title Of Your Window”, “”, @SW_HIDE)

  3. 要取消隐藏,可以使用下面的代码行。

    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" + "\"");

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,如果我在第一个参数中传递 ,则它将隐藏窗口,如果我传递

,则将取消隐藏与标题匹配的窗口。

Runtime.getRuntime().exec("C:/Diiinnovation/HideNSeek.exe 0 \"" + "Mozilla Firefox" + "\"");

我希望这能帮到您。谢谢!

以上是 如何隐藏Firefox窗口(Selenium WebDriver)? 的全部内容, 来源链接: utcz.com/qa/417112.html

回到顶部