Skip to content

🚩 A developer tool for simulating realistic network conditions and server load within multi-framework testing environments

Notifications You must be signed in to change notification settings

rodnye/stressor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stressor Logo

Tus pruebas de rendimiento y velocidad en un solo lugar

Qué?

Stressor es un orquestador de pruebas de rendimiento y velocidad que utiliza k6 para pruebas de carga y Lighthouse para auditorías, ofreciendo una salida unificada y personalizable. Ejecutable como servidor o integrable en proyectos TypeScript.

Características

  • Pipeline de adaptadores - Sistema extensible para múltiples motores de testing
  • Soporte dual - Pruebas de carga (k6) y auditorías (Lighthouse)
  • Resultados sanitizados y normalizados
  • Tipado fuerte - TypeScript-first con tipos inferidos dinámicamente

Instalación

npm install stressor-core
# o
pnpm add stressor-core

Uso Rápido

import { Stressor } from 'stressor';

const stressor = new Stressor({
  name: 'mi-test',
  load: {
    scenario: {
      executor: 'ramping-vus',
      stages: [
        { duration: '30s', target: 10 },
        { duration: '1m', target: 50 },
      ],
    },
    options: {
      vus: 50,
      duration: '1m30s',
    },
  },
});

const report = await stressor.run();

Configuración

Ejemplo Completo

{
  "id": "test-completo",
  "name": "Prueba Ecommerce",
  "load": {
    "scenario": {
      "executor": "constant-vus",
      "vus": 20,
      "duration": "5m"
    },
    "options": {
      "thresholds": {
        "http_req_duration": ["p(95)<500"]
      }
    }
  },
  "audit": {
    "url": "https://mi-sitio.com",
    "categories": ["performance", "seo"],
    "settings": {
      "formFactor": "desktop"
    }
  }
}

Ecosistema

CLI Tool

Enlace al proyecto

Stressor incluye una CLI completa para ejecutar pruebas desde terminal:

# Instalación global
npm install -g stressor-cli

# Ejecutar tests desde archivo de configuración
stressor run -c config.yaml

# Ejecutar audit test directo
stressor test audit --url https://example.com

# Ejecutar load test directo
stressor test load --scenario ./tests/api.yml --vus 20 --duration 1m

Comandos principales:

  • stressor run - Ejecuta tests desde archivo de configuración
  • stressor test audit - Ejecuta auditorías Lighthouse
  • stressor test load - Ejecuta pruebas de carga k6

API Reference

Clase Principal

class Stressor {
  constructor(config: StressorConfig)
  async run(changes?: Partial<StressorConfig>): Promise<StressorReport>
}

About

🚩 A developer tool for simulating realistic network conditions and server load within multi-framework testing environments

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published