我使用Selenium和FirefoxDriver,当实例它,FireFox浏览器自动打开时,我们如何隐藏它?
WebDriver driver = new FirefoxDriver();
谢谢,
答案 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。简单而廉价的解决方案。