Jesús Pérez 0d0297423e
Some checks failed
CI/CD Pipeline / Test Suite (push) Has been cancelled
CI/CD Pipeline / Security Audit (push) Has been cancelled
CI/CD Pipeline / Performance Benchmarks (push) Has been cancelled
Rust CI / Security Audit (push) Has been cancelled
Rust CI / Check + Test + Lint (nightly) (push) Has been cancelled
Rust CI / Check + Test + Lint (stable) (push) Has been cancelled
CI/CD Pipeline / Build Docker Image (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / Cleanup (push) Has been cancelled
chore: fix with CI and pre-commit
2026-02-08 20:37:49 +00:00
..
2026-02-08 20:37:49 +00:00
2026-02-08 20:37:49 +00:00

Browser Testing Framework - Rustelo

This directory contains browser testing tools for Rustelo-based applications.

🌐 Browser Testing Tools

Core Scripts

  • page-browser-tester.sh - Test individual pages or all pages in a browser
  • all-pages-browser-report.sh - Generate comprehensive browser testing reports

Browser Tools (browser/)

Advanced browser automation and logging tools for comprehensive testing.

🚀 Quick Start

Basic Page Testing

# Test a single page
./scripts/testing/page-browser-tester.sh /

# Test all default pages
./scripts/testing/page-browser-tester.sh all

# Custom base URL
BASE_URL="http://localhost:8080" ./scripts/testing/page-browser-tester.sh all

Custom Page Configuration

# Configure custom pages for testing
export PAGES=("/" "/blog" "/about" "/contact" "/custom-page")
./scripts/testing/page-browser-tester.sh all

# Or specify pages file location
export PAGES_MOD_FILE="crates/client/src/pages/mod.rs"
./scripts/testing/all-pages-browser-report.sh

Comprehensive Reporting

# Generate full browser report
./scripts/testing/all-pages-browser-report.sh

# Generate report with custom output
./scripts/testing/all-pages-browser-report.sh custom-report.md

⚙️ Configuration

Environment Variables

  • BASE_URL - Base URL for testing (default: http://localhost:3030)
  • PAGES - Array of pages to test (default: "/" "/blog" "/contact" "/about")
  • PAGES_MOD_FILE - Path to pages module file for dynamic page detection

Examples

# Test different environments
BASE_URL="https://staging.example.com" ./scripts/testing/page-browser-tester.sh all

# Custom pages
PAGES=("/" "/dashboard" "/settings") ./scripts/testing/page-browser-tester.sh all

# Custom pages module location
PAGES_MOD_FILE="src/routes.rs" ./scripts/testing/all-pages-browser-report.sh

🛠️ Integration with Justfile

These scripts are designed to work with the modular justfile system:

# Using aliases
just pt /blog          # Test blog page
just pr                # Generate pages report

# Using full commands  
just page-tester /about
just pages-report custom-output.md

📋 Framework Features

For Framework Developers

  • Generic page testing that works with any Rustelo application
  • Configurable through environment variables
  • No hardcoded application-specific pages

For Implementation Developers

  • Override default pages via environment variables
  • Customize base URLs for different environments
  • Generate reports specific to your application pages

🔧 Customization for Implementations

Implementations can create their own testing configurations:

# implementation/scripts/test-config.sh
export BASE_URL="http://localhost:3030"
export PAGES=("/" "/blog" "/prescriptions" "/services" "/contact")
export PAGES_MOD_FILE="crates/client/src/pages/mod.rs"

# Source config and run tests
source scripts/test-config.sh
../rustelo/scripts/testing/page-browser-tester.sh all

🧪 Browser Tools Directory

The browser/ directory contains advanced browser automation tools:

  • Log collection and analysis
  • Browser automation scripts
  • Error detection and reporting
  • Performance monitoring

See browser/README.md for detailed documentation of these tools.

🤝 Contributing

When adding new testing capabilities:

  1. Keep scripts generic and configurable
  2. Use environment variables for customization
  3. Provide sensible defaults
  4. Update this documentation
  5. Test with multiple implementations

This testing framework is designed to be implementation-agnostic while providing powerful testing capabilities for any Rustelo-based application.