使用FirefoxDriver时隐藏浏览器

时间:2011-03-06 11:18:06

标签: javascript css selenium htmlunit

我使用Selenium和FirefoxDriver,当实例它,FireFox浏览器自动打开时,我们如何隐藏它?

WebDriver driver = new FirefoxDriver();

谢谢,

4 个答案:

答案 0 :(得分:1)

您可以使用Win32附加到窗口句柄并隐藏它,但除此之外我不认为可以完成。

Selenium中的FirefoxDriver用于自动化用于UI测试的真实firefox浏览器(不是它的一些表示)。因此,真正的浏览器需要运行才能工作。

如果您需要不可查看的UI驱动程序,则需要使用HtmlUnit驱动程序。

然而,正如该网站所说:

  

没有一个流行的浏览器使用   HtmlUnit使用的JavaScript引擎   (犀牛)。如果您使用测试JavaScript   HtmlUnit的结果可能会有所不同   显着地来自那些浏览器。

所以我会小心地信任HtmlUnit驱动程序。

src:http://seleniumhq.org/docs/03_webdriver.html#webdriver-implementations

修改

另外,我想补充一点,通常自动化测试将在没有用户的专用机器上进行。在这种情况下,无论天气如何,您都可以看到浏览器。

答案 1 :(得分:1)

如果您不想像Firefox那样打开真正的浏览器,那么您应该使用 Html单元驱动程序(远程Web驱动程序)。首先添加命名空间,然后编写代码。最好的运气。

使用OpenQA.Selenium; 使用OpenQA.Selenium.Remote;

class Program
{
    static void Main(string[] args)
    {
        ICapabilities desiredCapabilities = DesiredCapabilities.HtmlUnit();
        IWebDriver driver = new RemoteWebDriver(desiredCapabilities);

        //your code begins here

     }
 }

答案 2 :(得分:0)

  

另外,我想补充一点,通常自动化测试将在没有用户的专用机器上进行。在这种情况下,无论天气如何,您都可以看到浏览器。

启动GUI比启动非gui浏览器更长。当你有一个庞大的项目并且不希望你的测试永远完成时,这非常重要。

答案 3 :(得分:0)

不确定,你试图实现什么,但据我所知,你希望firefox窗口不会在selenium测试运行时中断你的工作。因此,您可以在另一个桌面上运行测试。例如,使用此工具:Desktops。简单而廉价的解决方案。