Referencia rápida

Chuleta de Monkey Testing con Gremlins.js

Guía rápida de Gremlins.js: pruebas automatizadas de caos y monkey testing para aplicaciones web con clickers, rellenadores de formularios y mogwais.

· Publicado

gremlins.js es una librería de monkey testing para aplicaciones web y Node.js que simula interacciones aleatorias de usuarios para detectar fallos.

Uso básico

Ejecución mediante CDN

<script src="https://cdn.jsdelivr.net/npm/gremlins/dist/gremlins.js"></script>
<script>
gremlins.createHorde().unleash();
</script>

Personalización de la horda

gremlins.createHorde()
  .allGremlins()
  .gremlin(function () {
    // Acción personalizada ejecutada a intervalos regulares
    document.activeElement.blur();
  })
  .unleash();

Ejemplo de configuración completa

gremlins.createHorde()
  .gremlin(gremlins.species.formFiller())
  .gremlin(gremlins.species.clicker()
    .clickTypes(['click'])
    .canClick(element => element.tagName !== 'A')
    .showAction((x, y) => { /* Indicador visual de clic */ }))
  .gremlin(gremlins.species.scroller())
  .gremlin(gremlins.species.typer())
  .mogwai(gremlins.mogwais.alert())
  .mogwai(gremlins.mogwais.fps())
  .mogwai(gremlins.mogwais.gizmo().maxErrors(2))
  .unleash();

Ganchos del ciclo de vida (Lifecycle Hooks)

Before y After síncronos

gremlins.createHorde()
  .before(function () {
    this.log('Iniciando ejecución de monkey test');
    console.profile('gremlins');
  })
  .after(function () {
    this.log('Monkey testing finalizado');
    console.profileEnd();
  })
  .unleash();

Ganchos asíncronos

gremlins.createHorde()
  .before(function (done) {
    setTimeout(() => {
      this.log('Configuración asíncrona completada');
      done();
    }, 500);
  })
  .unleash();

Referencia de especies

Gremlins (Atacantes)

  • formFiller: Rellena controles de formulario (input, textarea, select) con datos válidos aleatorios.
  • clicker: Hace clics aleatorios en elementos activos de la vista.
  • scroller: Desplaza la ventana en direcciones y distancias aleatorias.
  • typer: Escribe teclas al azar en los campos de entrada activos.
  • toucher: Genera gestos táctiles en pantallas táctiles.

Mogwais (Guardianes)

  • alert: Intercepta y registra llamadas a window.alert.
  • fps: Monitoriza la tasa de fotogramas por segundo (FPS) y alerta ante caídas.
  • gizmo: Detiene la ejecución si el recuento de errores de JavaScript supera el límite fijado.

Referencias

Temas relacionados