- Home
-
Puppeteer Testing
Run Puppeteer on a real browser cloud
Point your existing Puppeteer scripts at TestingBot's grid and run them across real Chrome and Edge on Windows, macOS and Linux. Massive parallelism, video & log artifacts, GDPR-compliant with EU data residency.
- Browsers & OSes
- Chrome · Edge
- Parallel sessions
- 100
- Uptime SLA
- 99.99%
Trusted by some of the world's most innovative companies
Why run Puppeteer on TestingBot?
TestingBot runs your Puppeteer scripts against real Chrome and Edge on real Windows, macOS and Linux machines. No more "works in headless Chromium on my laptop" surprises.
Fan out to up to 100 concurrent Puppeteer sessions, each in its own single-use VM. Headless or headful, your choice per session.
Use the Puppeteer Recorder to generate scripts without writing a line of code. Test browser extensions, web scrape and run cross-browser parallel suites from the same dashboard.
Puppeteer in 60 seconds
Puppeteer
Released 2017 · Chrome DevTools team · Apache 2.0
Puppeteer is a Node.js library from the Chrome DevTools team that drives Chrome and Chromium through the DevTools Protocol. It was the original "headless Chrome" automation library and remains the fastest way to script Chrome from JavaScript.
Puppeteer ships first-class APIs for screenshots, PDFs, network interception, performance traces and page metrics. It is the canonical choice for Chrome-first end-to-end testing, web scraping and headless rendering pipelines.
- Node.js library, JavaScript / TypeScript
- Chrome, Chromium and Edge via the DevTools Protocol
- First-class screenshots, PDFs and network interception
- Headless and headful, single API
- Maintained by the Chrome DevTools team
Point your scripts at the TestingBot grid
Reuse your existing Puppeteer code. Connect to TestingBot's WebSocket endpoint and your scripts run on real Chrome and Edge in parallel.
// 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();
See the full Puppeteer on TestingBot documentation for capabilities, video recording and parallel options.
Local Puppeteer vs TestingBot
Puppeteer is fast on a laptop until you need scale, multiple OSes or real Edge. Here is how a hosted cloud compares.
| Capability | TestingBot | Local Puppeteer |
|---|---|---|
| Browser coverage |
Real Chrome and Edge across versions
|
Whatever you have installed locally
|
| Operating systems |
Real Windows, macOS and Linux
|
Your single dev machine
|
| Parallel scaling |
Up to 100 concurrent sessions, on demand
|
Capped by your CPU and RAM
|
| Video & logs |
HD video, console logs, screenshots included
|
Roll your own recording & log capture
|
| Test private & staging environments |
Built-in secure tunnel
|
Direct access only, no secure remote sharing
|
| EU data residency |
Yes, GDPR-compliant
|
Whatever country your laptop is in
|
| Reliability |
99.99% uptime SLA, 24/7 monitoring
|
Crashes when you close the lid
|
Video, screenshots and logs out of the box
Every Puppeteer session ships with a full HD video, browser console log and screenshots. Inspect a failure without re-running the test.
Mark sessions as passed or failed from your script, fetch artifacts via our REST API, and ship results back to Jira, Slack or your CI of choice.
- Full HD video for every session
- Console and DevTools logs
- Screenshots and PDFs on demand
- Custom screen resolution, timezone and locale
- Browser startup flags and many more options
Puppeteer integrations for every stack
Puppeteer is Node-first, but the same scripts run from Jest, WebDriverIO and CodeceptJS, plus Python via Pyppeteer and Go via chromedp. All point at the same TestingBot endpoint.
Looking for use-case guides? Read our Puppeteer Recorder, web scraping, browser extension testing and parallel testing guides.
Cut Puppeteer suite time from hours to minutes
Run hundreds of Puppeteer sessions in parallel across single-use VMs. Headless or headful, same scripts, a fraction of the wall-clock time.
- Up to 100 concurrent Puppeteer sessions
- Sessions start in seconds, no warm-up
- Headless or headful, switchable per session
Test Puppeteer scripts from 10+ countries
Run Puppeteer scripts from real exit nodes around the world. Verify geo-targeting, geo-blocking and localisation from the United States, the United Kingdom, Germany, France, Spain, Belgium, Australia, China, Japan and more.
Real machines. Single-use. Zero leaks.
Each Puppeteer session runs in a brand-new, single-use virtual machine on a real operating system. The VM is destroyed the moment your script ends: nothing is reused, nothing leaks across customers.
SOC 2-aligned, GDPR-compliant with EU data residency, SAML SSO and audit logs available for enterprise teams.
- Single-use VMs, wiped after every session
- GDPR-compliant, EU data residency available
- SAML SSO, audit logs and SCIM provisioning
-
1
Script connects to
cloud.testingbot.comA pristine VM is provisioned in seconds, just for your session.
-
2
Puppeteer drives a real Chrome or Edge
Real Windows, macOS or Linux, never simulated, never shared.
-
3
VM destroyed the moment your script ends
Cookies, files, browser state, all wiped. Nothing is ever reused.
Test internal & staging apps securely
Use our secure tunnel to run Puppeteer scripts against firewalled staging sites, internal dashboards or apps still on localhost.
Encrypted end-to-end, no inbound firewall rules required, ready out of the box for popular CI providers.
Read morePuppeteer on TestingBot — frequently asked questions
Why run Puppeteer on TestingBot instead of locally?
Locally you are capped by your laptop or CI runner. TestingBot gives you up to 100 parallel Puppeteer sessions on real Chrome and Edge across real Windows, macOS and Linux machines, with HD video and console logs collected automatically.
Which Puppeteer versions are supported?
TestingBot supports every supported Puppeteer release. You can pin a specific Puppeteer version per-test using capabilities.
Can I run Puppeteer tests in parallel?
Yes. Plans on TestingBot include up to 100 parallel Puppeteer sessions. Each session runs in its own single-use VM, so scripts do not interfere with one another.
Can I use Puppeteer with Jest, WebDriverIO or CodeceptJS?
Yes. We have dedicated guides for Jest, WebDriverIO and CodeceptJS, plus Python via PyTest and Go via chromedp.
How is Puppeteer different from Selenium and Playwright?
Puppeteer is Chrome-first and Node-first, with a smaller, snappier API than Selenium and a narrower scope than Playwright. Pick Puppeteer when you only need Chrome/Edge and want speed, screenshots, PDFs and network control with minimum ceremony. TestingBot supports all three on the same grid.
Can I record Puppeteer scripts without writing code?
Yes, use the Puppeteer Recorder to capture clicks, types and assertions, then run the resulting script on the TestingBot grid.
Can I test internal or staged sites?
Yes, install our secure tunnel and your Puppeteer scripts can reach staging environments, localhost or anything else behind your firewall.
Is the Puppeteer cloud GDPR / SOC 2 compliant?
TestingBot is GDPR-compliant with EU data residency, ISO 27001 aligned and STAR Level 1 certified. We offer SAML SSO, SCIM and audit logs on enterprise plans.
Ready to scale your Puppeteer testing?
Read our Puppeteer Cloud Testing documentation and run your first script in under 5 minutes.
Start a free trial