angular - 如果 Protractor 已经存在,Google 为什么要开发 Puppeteer?
问题描述
有谁知道为什么 Google 在 Protractor 已经出现的情况下决定开发 Puppeteer 吗?(特别适用于 Angular)
解决方案
Puppeteer和Protractor之间有一些根本区别
- Protractor 是一个外部 Web 应用程序测试工具,而 Puppeteer 是 Chromium 引擎的节点模块。
- Chromium 作为浏览器,Puppeteer 比 Protractor 快得多。
- Protractor 可用于自动化不同的浏览器,如google-chrome、firefox、internet-explorer、microsoft-edge、opera、brave等。但使用 Puppeteer 你只能自动化 chromium 引擎。截至今天,只有Chrome和Microsoft Edge浏览器使用 Chromium 引擎。
- Puppeteer 可以使用请求/响应测试 API,但使用 Protractor 有点复杂。
- 您可以使用 Puppeteer 检查加载页面所需的时间,但 Protractor 没有此功能。
- Puppeteer 可用于检查有多少 CSS/JS 文件用于加载使用 Protractor 无法加载的页面。
- 您可以在不加载 Puppeteer 中的图像的情况下测试应用程序,但通过 Protractor 是不可能的。
- 您可以在 Puppeteer 中使用 chrome 的所有google-chrome-devtools,但 Protractor 不支持它。
- 您可以使用 puppeteer 中的模拟器在不同设备中执行测试,但在 Protractor 中模拟设备很复杂。
- 您可以在 puppeteer 中以图像和 pdf 格式保存屏幕截图,因为 Protractor 提供了仅以图像格式保存屏幕截图的功能。
推荐阅读
- ios - 如何将多个 HTML 文件添加到 WebKit 视图?
- c# - 使用 .NET 客户端库为 VSTS/TFS 检索构建定义的任务列表
- javascript - 通过模型传递自定义按钮功能
- javascript - “any[]”类型的参数不能分配给“A”类型的参数。类型“any[]”中缺少属性“a”
- android - 使用 Android 分页库处理错误
- python - 将 Python 短形式 for 循环转换为长形式
- office365 - 有没有办法使用图形 API / sharepoint API 检测 office online 何时完成保存在 sharepoint 中?
- python - 使用 pandas 将连接的字符串拆分为单独的列
- javascript - 如何使用图像预览多次显示文件输入按钮?
- python - 基于共享节点在 Pandas 中查找邻居