是否可以在Windows框中以无头模式运行浏览器?

时间:2011-12-13 10:59:20

标签: webdriver headless-browser

我正在使用Java中的webdriver编写测试。 有没有办法在Windows框中以无头模式运行浏览器(ff / ie)?

我无法使用Linux盒子而HtmlUnitDriver没有帮助,因为我们的webapp有很多ajax控件。

4 个答案:

答案 0 :(得分:2)

我已经开始了一个小项目,使用SimpleBrowser为WebDriver提供驱动程序。您可能需要查看它:https://github.com/Teun/SimpleBrowser.WebDriver

但现在还处于早期阶段。我希望以贡献和测试的形式提供帮助。

答案 1 :(得分:1)

此时没有我知道Firefox或IE的无头版本。由于Firefox是开源的,因此您可以获取该浏览器的源代码,然后删除UI部分,但是我可以看到它有一些问题。首先,您必须构建自定义应用程序来设置自己的负载测试引擎。其次你被锁定到一个web渲染,虽然我认为chrome也是开源的,但它不像Firefox或IE那样好玩(使用系统.dll与自定义可执行文件)。第三,没有经过大量的测试我肯定会出现稳定性问题以及此选项可能存在的其他不可预见的问题。话虽如此,有一个.net无头浏览器相当简单,可能适合负载测试,称为简单浏览器。但是,这取决于您想要加载的内容。如果您只是在寻找带宽和服务器负载,那么您应该找到使用浏览器的多个实例。我很想知道是否以这种方式使用无头浏览器,如果你实例化不同的WebDriver,如果它可以很好地播放。即。

WebDriver driver1 = new SimpleBrowser();
WebDriver driver2 = new SimpleBrowser();
.
.
.
.
.
WebDriver driver[n] = new SimpleBrowser();

然后你可以运行[n]并行测试。在上面的代码中还要注意,SimpleBrowser()不直接挂钩到WebDriver接口,你必须扩展接口以引用.dll

答案 2 :(得分:0)

将测试程序作为Windows服务启动,即使在没有显示器的计算机上,浏览器也可以正常运行。从技术上讲,它们是在一个断开连接的“会话”中运行,但它基本上就是“无头”的意思。

答案 3 :(得分:-1)

HtmlUnitDriver支持ajax,可以在java和c#中运行(如果通过IKVM移植)。 但是,无头模式下无法运行IE和FF。我不能告诉你我多少次希望...

相关问题