使用Chromeless和Puppeter优于Selenium有什么好处?

Chr*_*cie 5 selenium automated-tests node.js chromeless puppeteer

我们正在寻求将Selenium方法替代为自动Web数据收集方法,因此建议使用Puppeteer或Chromeless。

我喜欢的一件事是能够在AWS lambda上运行的chrome变得毫无头绪。该原因被认为是与Chromeless或Puppeteer一起使用的主要原因。但是,我在网上看到一些帖子,表明使用Selenium可以完成相同的操作。如果是这样,那么与Selenium相比,Chromeless和Puppeteer具有什么优势?

我们将使用NodeJS

AJC*_*C24 4

使用过 Selenium 和 Puppeteer 后,我的观察是为什么它目前被如此强烈推荐:

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

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

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

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