---
title: Puppeteer Cloud Testing | Run Puppeteer on a Real Browser Cloud
description: Run Puppeteer scripts on real Chrome and Edge browsers in the TestingBot
  cloud. Cloud-scale parallelism, video & log artifacts, GDPR-compliant with EU data
  residency.
source_url:
  html: https://testingbot.com/features/automation/puppeteer
  md: https://testingbot.com/features/automation/puppeteer.md
---

Puppeteer cloud 
# 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.

[Start free](https://testingbot.com/users/sign_up) [Request a demo](https://testingbot.com/demo)

- **Browsers & OSes:** Chrome · Edge
- **Parallel sessions:** 100
- **Uptime SLA:** 99.9%

Trusted by some of the world's most innovative companies

 30-second answer 
## Why run Puppeteer on TestingBot?

Real Chrome and Edge

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.

Massive parallelism

Fan out to up to 100 concurrent Puppeteer sessions, each in its own single-use VM. Headless or headful, your choice per session.

Recorder & extras

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.

 What is Puppeteer? 
## Puppeteer in 60 seconds

 ![Puppeteer](https://testingbot.com/assets/support/puppeteer-0a8cdd38af69dabd46638afbb3bffc8a372902949aa599663ec379f3e875263c.svg)

### 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

 5-line setup 
## 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.js step 1

```javascript
// 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))}`,
});
```

login.spec.js step 2

```javascript
// 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](https://testingbot.com/support/web-automate/puppeteer) for capabilities, video recording and parallel options.

 Local vs cloud 
## 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.9% uptime SLA, 24/7 monitoring | Crashes when you close the lid |

 ![Video, screenshots and logs out of the box](https://testingbot.com/assets/features/test-results-315382c39a67ad52167d2a4fd78570c99aea3e0ec386c17e82265851e93cb7b3.png)

 Test artifacts 
## 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](https://testingbot.com/support/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](https://testingbot.com/support/web-automate/puppeteer/options)

 Languages & runners 
## 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.

- ### [Node.js](https://testingbot.com/support/web-automate/puppeteer/capabilities)

  - [Quickstart](https://testingbot.com/support/web-automate/puppeteer)
  - [Capabilities](https://testingbot.com/support/web-automate/puppeteer/capabilities)
  - [Browser flags](https://testingbot.com/support/web-automate/puppeteer/options)
  - [Test results](https://testingbot.com/support/web-automate/puppeteer/test-results)

- ### [Jest](https://testingbot.com/support/web-automate/puppeteer/jest)

  - [Jest with Puppeteer](https://testingbot.com/support/web-automate/puppeteer/jest)

- ### [WebDriverIO](https://testingbot.com/support/web-automate/puppeteer/webdriverio)

  - [WebDriverIO + Puppeteer](https://testingbot.com/support/web-automate/puppeteer/webdriverio)

- ### [CodeceptJS](https://testingbot.com/support/web-automate/puppeteer/codeceptjs)

  - [CodeceptJS setup](https://testingbot.com/support/web-automate/puppeteer/codeceptjs)

- ### [Python · PyTest](https://testingbot.com/support/web-automate/puppeteer/pytest)

  - [PyTest with Pyppeteer](https://testingbot.com/support/web-automate/puppeteer/pytest)

- ### [Go · chromedp](https://testingbot.com/support/web-automate/puppeteer/chromedp)

  - [chromedp setup](https://testingbot.com/support/web-automate/puppeteer/chromedp)

Looking for use-case guides? Read our [Puppeteer Recorder](https://testingbot.com/support/web-automate/puppeteer/recorder), [web scraping](https://testingbot.com/support/web-automate/puppeteer/scraping), [browser extension testing](https://testingbot.com/support/web-automate/puppeteer/browser-extension-testing) and [parallel testing](https://testingbot.com/support/web-automate/puppeteer/puppeteer-parallel-testing) guides.

 Massive parallelism 
## 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

[Read more](https://testingbot.com/support/web-automate/puppeteer/puppeteer-parallel-testing)

 ![Cut Puppeteer suite time from hours to minutes](https://testingbot.com/assets/features/selenium/parallel-0229d698e59a8a6b92fe50344a08634624f018331ecf8a849ef83cfb35e635a5.png)

Live exit nodes
10+ countries

United States

United Kingdom

Germany

France

Spain

Belgium

Australia

China

Japan

 Geolocation testing 
## 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.

 Secure infrastructure 
## 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

[Visit TestingBot Trust Center](https://trust.testingbot.com/)

1. 1

Script connects to `cloud.testingbot.com`

A pristine VM is provisioned in seconds, just for your session.

2. 2

Puppeteer drives a real Chrome or Edge

Real Windows, macOS or Linux, never simulated, never shared.

3. 3

VM destroyed the moment your script ends

Cookies, files, browser state, all wiped. Nothing is ever reused.

 Continuous integration 
## Plug Puppeteer into your CI/CD in minutes

TestingBot integrates with every major CI/CD tool. Trigger Puppeteer runs on every commit and stream videos and logs back into your build dashboards.

 ![Jenkins](https://testingbot.com/assets/integrations/jenkins-e586a1c4af833e4c8d38d7b392a4e84bd193f30cae9cf8c9f198a58ec943a1ff.webp)

### [Jenkins](https://testingbot.com/support/integrations/ci-cd/jenkins)

 ![Bamboo](https://testingbot.com/assets/integrations/bamboo-c8fe09a3cb0b74d6055e3aa6607d77720bfe29ff487b8e3cf825138adf634346.svg)

### [Bamboo](https://testingbot.com/support/integrations/ci-cd/bamboo)

 ![TeamCity](https://testingbot.com/assets/integrations/teamcity-7e75cdb835903a4983ad276c41d95e569ceac5be486e96ec1f955029ce5bb319.svg)

### [TeamCity](https://testingbot.com/support/integrations/ci-cd/teamcity)

 ![CircleCI](https://testingbot.com/assets/integrations/circleci-ede029654ff39b60342e4a5bba8fc9a3a49305cc38bda215b7cf8d07e85e0543.webp)

### [CircleCI](https://testingbot.com/support/integrations/ci-cd/circleci)

 ![GitLab CI](https://testingbot.com/assets/integrations/gitlab-e4c0b6db07d07bc0a400f5606e258f4dc8a51b778e97bbfa51d1d531f3cb049a.webp)

### [GitLab CI](https://testingbot.com/support/integrations/ci-cd/gitlab)

 ![GitHub](https://testingbot.com/assets/integrations/github-actions-8436242ad9e15381f84f1a98a10dddce15611087f121d6305782e211942b7842.webp)

### [GitHub](https://testingbot.com/support/integrations/ci-cd/github-actions)

 Secure Tunnel 
## Test internal & staging apps securely

Use our [secure tunnel](https://testingbot.com/support/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.

 ![TestingBot secure tunnel for Puppeteer](https://testingbot.com/assets/features/tunnel-diagram-poster-8c25e19e6fe4f7276a46a96b31a0ad0e07bb4f5bf98dc192d2b70897cfbb1a26.png)

[Read more](https://testingbot.com/support/tunnel)

FAQ
## Puppeteer 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](https://testingbot.com/support/web-automate/puppeteer/jest), [WebDriverIO](https://testingbot.com/support/web-automate/puppeteer/webdriverio) and [CodeceptJS](https://testingbot.com/support/web-automate/puppeteer/codeceptjs), plus Python via [PyTest](https://testingbot.com/support/web-automate/puppeteer/pytest) and Go via [chromedp](https://testingbot.com/support/web-automate/puppeteer/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](https://testingbot.com/support/web-automate/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](https://testingbot.com/support/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](https://testingbot.com/support/web-automate/puppeteer) documentation and run your first script in under 5 minutes.

[Start a free trial](https://testingbot.com/users/sign_up)

Resources you may like

[![Automated Testing with Puppeteer](https://testingbot.com/assets/resources/articles/11-416015eb394d928299663409dccd67993b0a664f4b3ff456803fefc6bf1f325a.webp)](https://testingbot.com/resources/articles/automated-testing-with-puppeteer)
### [Automated Testing with Puppeteer](https://testingbot.com/resources/articles/automated-testing-with-puppeteer)

Puppeteer combined with a test framework provides a great way to run automated browser tests. Follow this guide for more information.

[Read more](https://testingbot.com/resources/articles/automated-testing-with-puppeteer)

[![Puppeteer Testing in the Cloud](https://testingbot.com/assets/blog/2021/puppeteer.webp)](https://testingbot.com/blog/puppeteer-cloud-testing)
### [Puppeteer Testing in the Cloud](https://testingbot.com/blog/puppeteer-cloud-testing)

Start running Puppeteer tests in the cloud with TestingBot.

[Read more](https://testingbot.com/blog/puppeteer-cloud-testing)
