被世界上一些最具创新性的公司所信任
为什么要在 TestingBot 上运行 Puppeteer?
TestingBot 会在真实的 Windows、macOS 和 Linux 机器上,针对真实的 Chrome 和 Edge 浏览器运行您的 Puppeteer 脚本。再也不用担心“在我的笔记本电脑上用无头 Chromium 浏览器可以运行”这种意外情况了。
最多可同时运行 100 个 Puppeteer 会话,每个会话都在独立的虚拟机中运行。您可以选择无头模式或有头模式,每个会话均可独立设置。
使用 Puppeteer Recorder 无需编写任何代码即可生成脚本。在同一个控制面板上测试浏览器扩展程序、抓取网页内容并运行跨浏览器并行测试套件。
60秒内学会操纵木偶
Puppeteer
Released 2017 · Chrome DevTools team · Apache 2.0
Puppeteer 是 Chrome DevTools 团队开发的 Node.js 库,它通过 DevTools 协议驱动 Chrome 和 Chromium 内核。它是最初的“无头 Chrome”自动化库,至今仍是使用 JavaScript 编写 Chrome 脚本的最快方式。
Puppeteer 提供一流的 API,用于屏幕截图、PDF、网络拦截、性能跟踪和页面指标。它是 Chrome 优先端到端测试、网页抓取和无头渲染管道的首选方案。
- Node.js 库,JavaScript / TypeScript
- Chrome、Chromium 和 Edge 通过 DevTools 协议
- 一流的屏幕截图、PDF 和网络拦截
- 无头模式和有头模式,单一 API
- 由 Chrome DevTools 团队维护
将你的脚本指向 TestingBot 网格
重用您现有的 Puppeteer 代码。连接到 TestingBot 的 WebSocket 端点,您的脚本即可在真正的 Chrome 和 Edge 浏览器上并行运行。
// Connect Puppeteer to TestingBot's cloud const puppeteer = require('puppeteer-core'); const caps = { browserName: 'chrome', browserVersion: 'latest', platform: 'WIN11', 'tb:options': { key: 'KEY', secret: 'SECRET' }, }; const browser = await puppeteer.connect({ browserWSEndpoint: `wss://cloud.testingbot.com?caps=${ encodeURIComponent(JSON.stringify(caps))}`, });
// Your existing Puppeteer script, unchanged const page = await browser.newPage(); await page.goto('https://app.example.com/login'); await page.type('#user', 'jane'); await page.type('#pwd', '••••'); await Promise.all([ page.click('#go'), page.waitForNavigation(), ]); await page.screenshot({ path: 'dashboard.png' }); await browser.close();
本地傀儡师 vs 测试机器人
Puppeteer 在笔记本电脑上运行速度很快,但当需要扩展规模、支持多个操作系统或真正的边缘计算时,速度就会慢下来。以下是托管云的对比情况。
| 能力 | 测试机器人 | 当地木偶戏演员 |
|---|---|---|
| 浏览器覆盖范围 |
真实版 Chrome 和 Edge 各版本
|
无论你本地安装了什么
|
| 操作系统 |
真正的 Windows、macOS 和 Linux
|
您的单机开发机
|
| 并行扩展 |
最多可按需支持 100 个并发会话
|
受限于您的 CPU 和内存
|
| 视频和日志 |
包含高清视频、控制台日志和屏幕截图。
|
自行录制和日志采集
|
| 测试私有环境和测试环境 |
内置安全隧道
|
仅支持直接访问,不支持安全远程共享
|
| 欧盟数据驻留 |
是的,符合GDPR要求
|
无论你的笔记本电脑在哪个国家/地区
|
| 可靠性 |
99.99% 正常运行时间 SLA,全天候监控
|
合上盖子时崩溃。
|
测试框架的整合
TestingBot集成了Puppeteer和支持Puppeteer的流行测试框架,如:。
使用Puppeteer Recorder 记录 Puppeteer 脚本。在 TestingBot 的浏览器网格上运行录制的 Puppeteer 脚本,以实现最大的覆盖率。
将 Puppeteer 套件的使用时间从数小时缩短到数分钟
在单用途虚拟机上并行运行数百个 Puppeteer 会话。无论使用无头模式还是有头模式,使用相同的脚本,运行时间却大大缩短。
- 最多可同时进行 100 个 Puppeteer 会话
- 训练课几秒钟内即可开始,无需热身。
- 无头模式或有头模式,每次会话均可切换
来自 10 多个国家的 Puppeteer 测试脚本
从世界各地的真实出口节点运行 Puppeteer 脚本。验证来自美国、英国、德国、法国、西班牙、比利时、澳大利亚、中国、日本等地的地理定位、地理屏蔽和本地化功能。
真正的机器。一次性使用。零泄漏。
每个 Puppeteer 会话都在真实操作系统上一个全新的、一次性使用的虚拟机中运行。脚本结束后,虚拟机立即被销毁:没有任何数据会被重用,也不会跨客户端泄露。
符合 SOC 2 标准,符合 GDPR 标准,支持欧盟数据驻留、SAML SSO 和审计日志,可供企业团队使用。
- 一次性虚拟机,每次会话结束后都会被清除
- 符合 GDPR 标准,可提供欧盟数据驻留服务
- SAML SSO、审计日志和 SCIM 配置
-
1
脚本连接到
cloud.testingbot.com只需几秒钟,即可为您创建一个全新的虚拟机,专供您使用。
-
2
Puppeteer 驱动着真正的 Chrome 或 Edge 浏览器。
真正的 Windows、macOS 或 Linux 系统,从未模拟,从未共享。
-
3
脚本结束后,虚拟机立即被销毁。
Cookies、文件、浏览器状态,全部清除。所有数据都不会被重复使用。
TestingBot 上的 Puppeteer — 常见问题解答
为什么要在 TestingBot 上运行 Puppeteer 而不是在本地运行?
本地性能受限于笔记本电脑或 CI 运行器。TestingBot 可在真实的 Windows、macOS 和 Linux 机器上,通过真实的 Chrome 和 Edge 浏览器,支持多达 100 个并行 Puppeteer 会话,并自动收集高清视频和控制台日志。
支持哪些 Puppeteer 版本?
TestingBot 支持所有受支持的 Puppeteer 版本。您可以使用功能为每个测试指定特定的 Puppeteer 版本。
我可以并行运行 Puppeteer 测试吗?
是的。TestingBot 的计划包括最多 100 个并行 Puppeteer 会话。每个会话都在其独立的单次使用虚拟机中运行,因此脚本之间不会相互干扰。
我可以将 Puppeteer 与 Jest、WebDriverIO 或 CodeceptJS 一起使用吗?
是的。我们有专门针对Jest 、 WebDriverIO和CodeceptJS 的指南,还有针对 Python(通过PyTest)和 Go(通过chromedp)的指南。
Puppeteer 与 Selenium 和 Playwright 有何不同?
Puppeteer 优先支持 Chrome 和 Node,其 API 比 Selenium 更简洁、更快速,但功能范围比 Playwright 更窄。如果您只需要 Chrome/Edge 浏览器,并且希望以最少的配置实现速度、屏幕截图、PDF 生成和网络控制,那么 Puppeteer 是您的理想之选。TestingBot 在同一平台上同时支持这三种浏览器。
我可以不编写代码就录制 Puppeteer 脚本吗?
是的,使用Puppeteer Recorder捕获点击、输入和断言,然后在 TestingBot 网格上运行生成的脚本。
我可以测试内部站点或测试站点吗?
是的,安装我们的安全隧道后,您的 Puppeteer 脚本就可以访问测试环境、本地主机或防火墙后的任何其他内容。
Puppeteer云平台是否符合GDPR/SOC 2标准?
TestingBot 符合 GDPR 法规,拥有欧盟数据驻留权,并通过了 ISO 27001 标准认证和 STAR 1 级认证。我们为企业版套餐提供 SAML 单点登录 (SSO)、敏感信息安全管理 (SCIM) 和审计日志功能。