This demo repository showcases how to integrate QualityMax test automation with your GitHub CI/CD pipeline.
This playground demonstrates:
- Running QualityMax tests via GitHub Actions
- Automatic test reporting on pull requests
- Integration with your existing Playwright tests
- Log into QualityMax
- Go to Settings > API Keys
- Click Generate API Key
- Copy your key (it won't be shown again!)
In your GitHub repository:
- Go to Settings > Secrets and variables > Actions
- Click New repository secret
- Add
QAMAX_API_KEYwith your API key.
Copy .github/workflows/qamax-tests.yml to your repository.
Tests will automatically run on:
- Push to
mainormaster - Pull request events
- Manual dispatch
demo-playground/
├── .github/
│ └── workflows/
│ └── qamax-tests.yml # GitHub Actions workflow
├── tests/
│ ├── login.spec.ts # Login test example
│ ├── navigation.spec.ts # Navigation test example
│ └── form-validation.spec.ts # Form validation example
├── playwright.config.ts # Playwright configuration
├── package.json # Dependencies
└── README.md # This file
Tests basic authentication flow with form submission and validation.
Tests page navigation, URL changes, and breadcrumb functionality.
Tests client-side form validation including required fields and email format.
The workflow (.github/workflows/qamax-tests.yml) includes:
- name: Run QualityMax Tests
uses: qualitymax/test-runner@v1
with:
api_key: ${{ secrets.QAMAX_API_KEY }}
project_id: ${{ vars.QAMAX_PROJECT_ID }}
suite: smoke # Options: all, smoke, regression, custom
browser: chromium # Options: chromium, firefox, webkit
base_url: ${{ env.DEPLOY_URL }}| Option | Description | Default |
|---|---|---|
api_key |
Your QualityMax API key (required) | - |
project_id |
Your QualityMax project ID (required) | - |
suite |
Test suite to run: all, smoke, regression, custom |
all |
browser |
Browser to use: chromium, firefox, webkit |
chromium |
base_url |
Base URL for tests (e.g., staging URL) | Project default |
timeout |
Test timeout in minutes | 30 |
test_ids |
Specific test IDs (comma-separated, for custom suite) |
- |
After tests complete:
- GitHub Actions UI: View summary in the Actions tab
- PR Comments: Automatic test result summary posted to pull requests
- QualityMax Dashboard: Detailed results at
app.qamax.co/results/{execution_id}
## QualityMax Test Results
| Status | Passed | Tests |
|--------|--------|-------|
| Passed | 5/5 | 100% |
Duration: 2m 34s | Browser: Chromium
[View Full Report](https://app.qamax.co/results/gha_abc123)Run tests locally:
# Install dependencies
npm install
# Install Playwright browsers
npx playwright install
# Run all tests
npm test
# Run specific test
npx playwright test tests/login.spec.ts
# Run with UI mode
npx playwright test --ui
# Run headed (visible browser)
npx playwright test --headed- Verify your API key is correct
- Check that the secret
QAMAX_API_KEYis set in your repository
- Increase the
timeoutoption in the workflow - Check if your
base_urlis accessible from GitHub Actions runners
- Ensure the workflow has
pull-requests: writepermission - Check that the GitHub token has the necessary scopes