Back to blog
CI/CD

Setting Up CI/CD with Testoro in 5 Minutes

Piotr Gebski4 min read

You've generated your Playwright tests with Testoro. Now let's run them automatically on every push. This guide walks through setting up GitHub Actions integration in under 5 minutes.

Prerequisites

  • A Testoro account (Standard or Pro plan)
  • A GitHub repository
  • At least one test generated in Testoro
  • Step 1: Generate an API Key

  • Go to **Settings > API Keys** in your Testoro dashboard
  • Click **Create new key**
  • Give it a descriptive name (e.g., "GitHub Actions CI")
  • Copy the key — you won't see it again
  • Step 2: Add the Secret to GitHub

  • Go to your GitHub repository **Settings > Secrets and variables > Actions**
  • Click **New repository secret**
  • Name: `TESTORO_API_KEY`
  • Value: paste your API key
  • Click **Add secret**
  • Step 3: Generate the Workflow File

    The easiest way is to use Testoro's built-in workflow generator:

  • Go to your project in Testoro
  • Click the **CI/CD** tab
  • Click **Generate Workflow**
  • Copy the generated YAML
  • Alternatively, here's a minimal workflow you can use directly:

    name: Testoro E2E Tests

    on:

    push:

    branches: [main]

    pull_request:

    branches: [main]

    jobs:

    e2e:

    runs-on: ubuntu-latest

    steps:

    - uses: actions/checkout@v4

    - name: Run Testoro Tests

    env:

    TESTORO_API_KEY: ${{ secrets.TESTORO_API_KEY }}

    run: |

    curl -X POST https://api.testoro.dev/ci/run \

    -H "X-API-Key: $TESTORO_API_KEY" \

    -H "Content-Type: application/json" \

    -d '{"project_id": "your-project-id"}'

    Step 4: Commit and Push

    Save the workflow file to .github/workflows/testoro.yml in your repository and push:

    git add .github/workflows/testoro.yml

    git commit -m "ci: add Testoro E2E test workflow"

    git push

    Step 5: Verify

  • Go to the **Actions** tab in your GitHub repository
  • You should see the "Testoro E2E Tests" workflow
  • Click on the latest run to see results
  • Each test run is recorded in your Testoro dashboard with full results, including pass/fail status, duration, and error details.

    Advanced Configuration

    Running Specific Tests

    Target specific tests by ID:

    -d '{"project_id": "...", "test_ids": ["test-1", "test-2"]}'

    Running on Schedule

    Add a cron trigger to run tests periodically:

    on:

    schedule:

    - cron: '0 9 * * 1-5' # Weekdays at 9 AM UTC

    Self-Healing on Failure

    Pro plan users can enable automatic self-healing. When a test fails in CI, Testoro can automatically generate a healed version and open a PR with the fix.

    What's Next

    Once CI is set up, you get:

  • **Automated regression detection** on every push
  • **Test results** tracked in your Testoro dashboard
  • **Failure notifications** (configure in Settings > Notifications)
  • **Trend data** showing test health over time
  • Five minutes of setup for continuous quality assurance. Not a bad trade.