Integration

Playwright Parallel Testing with Jenkins

Keep your Jenkins pipeline. Replace the test-execution stage with a single TraceLoom call that fans your Playwright suite out across 50+ EC2 Spot workers in your own AWS account, with a full trace on every test.

Bottom line: TraceLoom is one Jenkins stage. Your pipeline still builds, lints and deploys on Jenkins agents, but browser execution fans out to 50+ EC2 Spot workers in your own AWS account — with full Playwright traces stored in your S3 bucket.

Last updated: April 2026

Add to your Jenkins pipeline

Jenkinsfile

pipeline {
  agent any

  environment {
    TRACELOOM_API_KEY = credentials('traceloom-api-key')
  }

  stages {
    stage('Install') {
      steps {
        sh 'npm ci'
      }
    }
    stage('Run Playwright Tests') {
      steps {
        sh 'npx traceloom run'
      }
    }
  }
}

Add your TraceLoom API key in Jenkins under Manage Jenkins → Credentials as a Secret Text with ID traceloom-api-key. No changes to your Playwright test files — TraceLoom wraps the Playwright CLI.

How TraceLoom extends Jenkins

Jenkins has run CI for more than a decade and is strong at orchestrating multi-stage builds on self-managed infrastructure. But running large Playwright suites directly on Jenkins agents means sizing and maintaining those agents for peak browser-test load — which is painful and expensive.

TraceLoom leaves your Jenkins agents lean. A single sh 'npx traceloom run' step hands test execution off to TraceLoom, which spins up 50+ EC2 Spot workers in your own AWS account, shards tests based on historical run times, captures a full .trace.zip for every test, and returns a pass/fail exit code to the Jenkins stage.

Workers run inside your VPC. Traces land in your S3 bucket. Jenkins doesn't need beefy agents, and TraceLoom's control plane only sees run metadata — pass/fail counts, timing, test names.

What you get

  • 50+ parallel EC2 Spot workers. Go far beyond what a small pool of Jenkins agents can run in parallel, without sizing agents for browser-test peak load.
  • Full Playwright trace on every test. DOM snapshots, network waterfalls, console logs — viewable in the standard Playwright Trace Viewer.
  • BYOC data ownership. Workers run inside your VPC and traces land in your S3 bucket. TraceLoom's control plane only sees run metadata.
  • One Jenkins stage. Drop-in declarative-pipeline snippet with no changes to your Playwright test files or Playwright config.

Frequently Asked Questions

How do I trigger TraceLoom from a Jenkins pipeline?
Add a stage to your `Jenkinsfile` that runs `npx traceloom run`, with `TRACELOOM_API_KEY` bound from a Jenkins credential. The full Groovy declarative-pipeline snippet is in the example above. TraceLoom auto-detects non-TTY environments and emits plain-text output, so Jenkins console logs stay parseable.
Does TraceLoom work with Jenkins agents behind a firewall?
Yes, as long as the agent can reach the TraceLoom API over HTTPS outbound. No inbound connections are required. The EC2 Spot workers that actually run your Playwright tests live in your own AWS account, not on the Jenkins agent — so Jenkins agent resources (CPU, memory) are not the bottleneck.
Can I use TraceLoom with Jenkins scripted pipelines or only declarative?
Both. The example above uses the declarative syntax because it is the recommended Jenkinsfile style today, but scripted pipelines work the same way: any `sh` step that invokes `npx traceloom run` with `TRACELOOM_API_KEY` in the environment will work.
Does TraceLoom replace Jenkins for parallel Playwright testing?
No — it complements Jenkins. Jenkins still runs your pipeline: checkout, install, build, deploy, and any non-browser stages. TraceLoom only replaces the browser-execution stage, moving that work off Jenkins agents and onto 50+ EC2 Spot workers in your own AWS account, with a full trace captured for every test.

Also integrates with: GitHub Actions · GitLab CI

Get started

Ship faster with tests you actually trust.

Deploy one CloudFormation stack, run your first suite in 15 minutes, and see every trace in your own S3 bucket.