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

时间:2018-07-22 20:33:07

标签: node.js selenium automated-tests puppeteer chromeless

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

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

我们将使用NodeJS

1 个答案:

答案 0 :(得分:2)

同时使用硒和木偶,这是我对目前为何如此推荐它的看法:

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

应该注意的是,硒确实能够完成Puppeteer所做的一切(反之亦然),但这并不是Puppeteer的重点。 Puppeteer允许团队使用易于使用的API快速构建大型的自动化脚本库,并使测试立即运行,而不必处理跨浏览器和/或跨设备。

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

Puppeteer仅支持在Chrome上执行测试,但总之,要运行许多测试(即使只是在Chrome上)要比没有测试好得多。