首页 > 解决方案 > 使用 Chromeless 和 Puppeter Over Selenium 有什么好处?

问题描述

我们正在寻求替换我们的 Selenium 方法来自动收集网络数据,并已被推荐使用 Puppeteer 或 Chromeless。

我喜欢的一件事是在 AWS lambda 上运行 chrome 时能够无头运行。这个原因被认为是选择 Chromeless 或 Puppeteer 的主要原因。但是,我在网上看到帖子表明 Selenium 也可以做到这一点。如果这是真的,那么 Chromeless 和 Puppeteer 比 Selenium 有什么优势?

我们将使用 NodeJS

标签: node.jsseleniumautomated-testspuppeteerchromeless

解决方案


在使用了 Selenium 和 Puppeteer 之后,这些是我对为什么目前如此高度推荐它的观察:

  • Puppeteer 真的很容易配置和执行。无需设置特定的驱动程序。只需编写您的测试脚本,指向node您的脚本并观察它。一切甚至并行运行!
  • 这是一个零设置框架,因为它与运行最佳的 Chromium 版本捆绑在一起。
  • 另一个好处是速度。Puppeteer 非常快,因为它使用无头 Chrome。
  • 它与其他流行的测试框架(例如jestmocha.
  • 使用 Puppeteers API 非常简单。一切都很容易编写,易于理解,并且基本上允许使用单行代码自动化简单的用户交互。
  • 调试自动化脚本真的很容易。比如说,只需设置headlessfalseslowMo从到开始,您就可以轻松查看正在发生的事情并解决您可能遇到的任何问题。0250
  • 无论您以前的经验水平如何,它都很容易上手和使用:在我正在工作的团队中,每个人(即使是那些没有真正自动化测试脚本编写经验的人)都发现与 Puppeteer 一起工作是一种非常好的和轻松的体验。每个人都可以在几分钟的基础研究中掌握它,并让脚本快速运行,没有任何麻烦或压力。

应该注意的是,Selenium确实做了 Puppeteer 所做的一切(反之亦然),但这不是 Puppeteer 的重点。Puppeteer 允许团队使用易于使用的 API 非常快速地构建大型自动化脚本库并立即运行测试,而不必处理构建跨浏览器和/或跨设备工作的超健壮测试框架。

如果您真的必须进行跨浏览器测试,那么 Selenium 或 InternJS(我个人最喜欢的)仍然是您的选择。

Puppeteer 仅支持在 Chrome 上执行测试,但归根结底,运行大量测试(即使它只是在 Chrome 上)总比不运行要好得多。


推荐阅读