用于自动化的无头浏览器的差异



主要区别在于在基于GUI和非基于GUI(Headless)上执行。

我正在寻找所有Headless浏览器之间的差异,但不幸的是,我没有找到任何差异。我一个接一个地走过,这让我更加困惑。如果有人能分享有差异的简短信息,让事情变得清楚,那就太好了。

浏览器

浏览器是一个应用程序,它提供了一种查看万维网上所有信息并与之交互的方式。从技术上讲,浏览器,也称为Web浏览器nternet浏览器


无头浏览器

无头浏览器也是Web浏览器,但没有图形用户界面(GUI),但可以通过编程进行控制,可广泛用于自动化测试和其他目的。


为什么使用无头浏览器

使用无头浏览器有很多优点和缺点。使用无头浏览器可能对浏览Web没有太大帮助,但对于自动化任务和测试来说,这是非常棒的


无头浏览器的优点

使用无头浏览器有很多优点。一些tham如下:

  • 使用无头浏览器的一个明显优势是它们通常比真正的浏览器更快。之所以更快,是因为我们没有启动浏览器GUI,并且可以绕过真实浏览器加载CSSJavaScript以及打开和渲染HTML DOM所需的所有时间
  • 在性能方面,使用无头浏览器时,您通常可以看到2x15x更快的性能
  • 当报废网站,你不一定想手动启动一个网站。因此,你可以无头访问网站,只需抓取HTML即可。您不需要渲染完整浏览器即可执行此操作
  • 许多开发人员使用无头浏览器对其网站和移动应用程序进行单元测试代码更改。能够从命令行完成所有这些操作,而无需手动刷新或启动浏览器,这为他们节省了大量精力

当您可能不想使用无头浏览器时

您可以选择使用Real Browser而不是Headless Browser

  • 你需要模仿真实的用户
  • 您需要直观地看到测试运行
  • 如果您需要进行大量的调试,那么无头调试可能会很困难

哪些无头浏览器更好

正如你正确指出的那样。。。主要区别在于基于GUI和非基于GUI(Headless)的执行

,因此从测试的角度来看在很大程度上取决于任何特定浏览器在后台实现的浏览器引擎。例如,以下是一些浏览器引擎,它们可以完全渲染网页或在虚拟DOM中运行JavaScript。

  • Chromium嵌入式框架:CEF是一个基于GoogleChromium项目的开源项目,支持JavaScriptBSD许可证
  • Erik:Erik是Kanna和WebKit之上的无头浏览器,具有Swift支持和MIT许可证
  • jBrowserDriver:jBrowserdrive是一个兼容Selenium的无头浏览器,它基于WebKit并通过Java绑定支持和Apache License v2.0许可证与Selenium Server协同工作
  • PhantomJS:PhantomJS是一个无头WebKit,可使用JavaScript API编写脚本。它对各种web标准具有快速和本地支持:DOM处理、CSS选择器、JSON、Canvas和SVG,带有JavaScriptPythonRubyJavaPHPR(通过Selenium)支持以及BSD 3-Clause许可证
  • Splash:Splash是一个带有HTTP API的javascript呈现服务。它是一个带有HTTP API的轻量级浏览器,使用Twisted和QT在Python中实现,几乎所有的启动绑定艺术和BSD 3-Clause许可证

您可以在哪些驱动程序支持"无浏览器"/"无头"测试中找到相关讨论?

相关内容

  • 没有找到相关文章

最新更新