使用 Chromeless 和 Puppeter 比使用 Selenium 有什么好处?
What are the benefits of using Chromeless and Puppeter Over Selenium?
我们正在寻求取代我们的 Selenium 方法来自动收集网络数据,并且已被推荐使用 Puppeteer 或 Chromeless。
我喜欢的一件事是能够在 AWS lambda 上使用 chrome 运行 无头。这个原因被认为是使用 Chromeless 或 Puppeteer 的主要原因。然而,我看到网上的帖子表明同样可以用 Selenium 完成。如果这是真的,那么 Chromeless 和 Puppeteer 比 Selenium 有什么优势?
我们将使用 NodeJS
同时使用了 Selenium 和 Puppeteer,以下是我对它目前被如此强烈推荐的原因的观察:
- Puppeteer 真的很容易配置和执行。无需设置特定的驱动程序。只需编写您的测试脚本,将
node
指向您的脚本并观察它。一切甚至并行运行!
- 这是一个零设置框架,因为它与运行最好的 Chromium 版本捆绑在一起。
- 另一个好处是速度。 Puppeteer 非常快,因为它使用无头 Chrome.
- 它与其他流行的测试框架很好地集成,例如
jest
和 mocha
。
- 使用 Puppeteers API 非常简单。一切都易于编写、易于理解,并且基本上允许使用一行代码自动进行简单的用户交互。
- 调试自动化脚本真的很容易。只需将
headless
设置为 false
并将 slowMo
从 0
调高到 250
,您就可以轻松查看发生了什么并解决您可能遇到的任何问题有。
- 无论您以前的经验水平如何,都可以轻松上手和使用:在我工作的团队中,每个人(即使是那些没有真正编写自动化测试脚本的人experience) 发现与 Puppeteer 一起工作是一种非常愉快和轻松的体验。每个人都可以在几分钟内掌握基础研究并快速获得脚本 运行,没有任何麻烦或压力。
应该注意的是,Selenium 确实 完成了 Puppeteer 所做的一切(反之亦然),但这不是 Puppeteer 的重点。 Puppeteer 允许团队使用易于使用的 API 非常快速地构建大型自动化脚本库并获得测试 运行 now 而不是必须处理构建可跨浏览器和/或跨设备工作的超稳健测试框架。
如果您确实必须进行跨浏览器测试,那么 Selenium 或 InternJS(我个人最喜欢的)仍然是您的选择。
Puppeteer 仅支持在 Chrome 上执行测试,但归根结底,最好进行大量测试 运行(即使只是在 Chrome 上执行) ) 而不是 none.
我们正在寻求取代我们的 Selenium 方法来自动收集网络数据,并且已被推荐使用 Puppeteer 或 Chromeless。
我喜欢的一件事是能够在 AWS lambda 上使用 chrome 运行 无头。这个原因被认为是使用 Chromeless 或 Puppeteer 的主要原因。然而,我看到网上的帖子表明同样可以用 Selenium 完成。如果这是真的,那么 Chromeless 和 Puppeteer 比 Selenium 有什么优势?
我们将使用 NodeJS
同时使用了 Selenium 和 Puppeteer,以下是我对它目前被如此强烈推荐的原因的观察:
- Puppeteer 真的很容易配置和执行。无需设置特定的驱动程序。只需编写您的测试脚本,将
node
指向您的脚本并观察它。一切甚至并行运行! - 这是一个零设置框架,因为它与运行最好的 Chromium 版本捆绑在一起。
- 另一个好处是速度。 Puppeteer 非常快,因为它使用无头 Chrome.
- 它与其他流行的测试框架很好地集成,例如
jest
和mocha
。 - 使用 Puppeteers API 非常简单。一切都易于编写、易于理解,并且基本上允许使用一行代码自动进行简单的用户交互。
- 调试自动化脚本真的很容易。只需将
headless
设置为false
并将slowMo
从0
调高到250
,您就可以轻松查看发生了什么并解决您可能遇到的任何问题有。 - 无论您以前的经验水平如何,都可以轻松上手和使用:在我工作的团队中,每个人(即使是那些没有真正编写自动化测试脚本的人experience) 发现与 Puppeteer 一起工作是一种非常愉快和轻松的体验。每个人都可以在几分钟内掌握基础研究并快速获得脚本 运行,没有任何麻烦或压力。
应该注意的是,Selenium 确实 完成了 Puppeteer 所做的一切(反之亦然),但这不是 Puppeteer 的重点。 Puppeteer 允许团队使用易于使用的 API 非常快速地构建大型自动化脚本库并获得测试 运行 now 而不是必须处理构建可跨浏览器和/或跨设备工作的超稳健测试框架。
如果您确实必须进行跨浏览器测试,那么 Selenium 或 InternJS(我个人最喜欢的)仍然是您的选择。
Puppeteer 仅支持在 Chrome 上执行测试,但归根结底,最好进行大量测试 运行(即使只是在 Chrome 上执行) ) 而不是 none.