What is Signoff?
Signoff is a robust testing framework built with Playwright that ensures your web pages load correctly, perform well, and maintain quality across deployments. It's designed for continuous integration and supports both production and staging environments.
Key Capabilities
- Page load performance testing with network idle detection
- Automatic screenshot generation for visual regression testing
- Comprehensive link validation (finds 404s and broken links)
- Support for both production and staging environments
- GitHub Actions integration for automated testing
- Configurable test workers and request delays
- Known issues management via YAML configuration
Features
🎯 Page Load Testing
Tests page loading with network idle detection, ensuring all resources are fully loaded before validation.
📷 Screenshot Capture
Automatically captures both standard and full-page screenshots for visual regression testing.
🔍 Link Validation
Crawls all links on each page and validates them, reporting 404s and connection issues.
🌍 Multi-Environment
Supports testing across production and staging environments with automatic URL transformation.
⚙️ Configurable Testing
Flexible configuration for test workers, request delays, and URL sources (files or GitHub Gists).
🤖 CI/CD Integration
Built-in GitHub Actions workflows with support for self-hosted runners and manual triggers.
Advanced Features
- Dynamic Content Loading: Scrolls through pages to trigger lazy-loading content
- Custom User Agents: Configurable user agent strings for testing
- Known Issues Management: YAML-based exclusion of known broken links
- Parallel Execution: Configurable worker threads for faster testing
- Artifact Collection: Automatic collection of screenshots and test results
Getting Started
Installation
Basic Usage
1. Configure your test URLs in urls.yml
:
2. Run the tests locally:
3. Run with custom workers:
Configuration Options
Environment Variables
GIST_URLS
- GitHub Gist ID or direct URLENVIRONMENT
- 'prod' or 'stage'REQUEST_DELAY
- Delay between requests (ms)USER_AGENT_SUFFIX
- Custom user agent suffix
Files
urls.yml
- List of URLs to testurls_known_issues.yml
- Known broken links to ignorescreenshots/
- Generated screenshots directory
Integration Testing
For visual component testing:
Watch mode for development:
GitHub Actions Integration
Signoff includes a comprehensive GitHub Actions workflow for automated testing. The workflow supports both GitHub-hosted and self-hosted runners.
Workflow Features
Manual Triggers
Trigger tests manually with custom parameters including test branch, environment, worker count, and request delays.
Environment Support
Automatic routing to GitHub-hosted runners for production and self-hosted runners for staging environments.
Browser Installation
Automatic Playwright browser installation with dependency management and caching.
Artifact Collection
Automatic collection and upload of screenshots and test results for analysis.
Workflow Parameters
Running the Workflow
- Go to your repository's Actions tab
- Select "Test Page Load" workflow
- Click "Run workflow"
- Configure parameters as needed
- View results and download artifacts
This section shows the results of your daily automated tests. Tests run every day at 6:00 AM UTC.
⏳ Loading test results...
📊 How to interpret results:
- ✅ Success: All pages loaded correctly, no broken links found
- ❌ Failure: Issues detected - click to view details
- ⏳ In Progress: Test is currently running
Note: To view this data, the repository needs to be public or you need to configure GitHub API access. Results are fetched from the GitHub Actions API in real-time.