我正在使用Java中的webdriver编写测试。 有没有办法在windows的无框模式下运行浏览器(ff/ie)?是否有可能在windows系统中以无头模式运行浏览器?
我不能使用Linux的盒子和HtmlUnitDriver没有帮助,因为我们的Web应用程序有许多Ajax控件。
我正在使用Java中的webdriver编写测试。 有没有办法在windows的无框模式下运行浏览器(ff/ie)?是否有可能在windows系统中以无头模式运行浏览器?
我不能使用Linux的盒子和HtmlUnitDriver没有帮助,因为我们的Web应用程序有许多Ajax控件。
HtmlUnitDriver支持ajax,并且可以在java和c#中运行(如果通过IKVM移植)。 但是,无法在无头模式下运行IE和FF。我不能告诉你我有多少次希望...
Thx用于确认它。 HtmlUnitDriver的限制是我们开始使用FF驱动程序的原因。 – dmp
IE和Firefox在无头模式下运行得很好。 –
将测试程序作为Windows服务启动,即使在没有监视器的计算机上,浏览器也能正常运行。从技术上讲,他们正在运行一个不连接的“会话”,但它本质上就是“无头”的意思。
这完全不一样。无头的意思是,没有时间花费视觉渲染网页(即使看不到它,因为没有监视器),这会消耗更少的资源,这反过来意味着测试运行速度更快。如果你曾经试过并行运行多个测试(比如负载测试),你就会知道真正的无头浏览器的价值。 – Anders
是否也可以在Windows上使用硒网格(“硒节点”)作为服务并让它在需要时启动浏览器(特别是IE),而无需任何登录)?如何才能做到这一点? – jfpoilpret
此时没有无头版本,我知道Firefox或IE。由于Firefox是开源的,因此您可以获得该浏览器的源代码,然后删除UI部分,但是我可以看到它存在一些问题。首先,您必须构建一个自定义应用程序来设置您自己的负载测试引擎。其次,您被锁定到一个网络渲染,但我认为chrome也是开源的,但它并不像Firefox或IE(使用系统.dlls与自定义可执行文件)那么好。第三,没有太多的测试,我相信会有稳定性问题和潜在的其他未预见到的问题。这就是说有一个.net无头浏览器是相当简单的,并且可能适合称为简单浏览器的负载测试。然而这取决于你想要加载的内容。如果你只是寻找带宽和服务器负载,那么你应该找到使用浏览器的多个实例。如果你实例化了不同的WebDriver,如果它可以很好地播放,我会很好奇知道如果以这种方式使用无头浏览器。即
WebDriver driver1 = new SimpleBrowser();
WebDriver driver2 = new SimpleBrowser();
.
.
.
.
.
WebDriver driver[n] = new SimpleBrowser();
然后你可以运行[n]个并行测试。在上面的代码中还要注意SimpleBrowser()不直接挂接到WebDriver接口,您将不得不扩展接口以引用该.dll
我已经开始使用SimpleBrowser为WebDriver提供驱动程序的小型项目。你可能想看看:https://github.com/Teun/SimpleBrowser.WebDriver
虽然它还处于早期阶段。我会很感激捐款和测试的帮助。
HtmlUnitDriver的ajax结果与普通浏览器(FF,Chrome等)完全不同。如果您的网站是一个沉重的ajax网站,您最好不要使用HtmlUnitDriver。 – maguschen