Riferimento rapido

Cheat Sheet Monkey Testing con Gremlins.js

Guida rapida a Gremlins.js: chaos e monkey testing automatizzato per web app con clicker, scroller, form filler e guardiani mogwai.

· Pubblicato

gremlins.js è una libreria di monkey testing per app web e Node.js che simula azioni casuali degli utenti per scovare bug.

Uso di base

Avvio tramite CDN

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

Personalizzazione dell orda

gremlins.createHorde()
  .allGremlins()
  .gremlin(function () {
    // Azione personalizzata eseguita a intervalli regolari
    document.activeElement.blur();
  })
  .unleash();

Esempio di configurazione completa

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

Hook del ciclo di vita

Before e After sincroni

gremlins.createHorde()
  .before(function () {
    this.log('Avvio dell esecuzione del monkey test');
    console.profile('gremlins');
  })
  .after(function () {
    this.log('Monkey testing completato');
    console.profileEnd();
  })
  .unleash();

Hook asincroni

gremlins.createHorde()
  .before(function (done) {
    setTimeout(() => {
      this.log('Configurazione asincrona completata');
      done();
    }, 500);
  })
  .unleash();

Riferimento delle specie

Gremlin (Gli attaccanti)

  • formFiller: Compila elementi di modulo (input, textarea, select) con dati casuali.
  • clicker: Clicca casualmente su elementi interattivi nella schermata.
  • scroller: Effettua lo scroll della finestra in direzioni casuali.
  • typer: Digita tasti a caso negli input attivi.
  • toucher: Genera eventi di tocco su schermi touch.

Mogwai (I guardiani)

  • alert: Intercetta e registra le chiamate a window.alert.
  • fps: Monitora il framerate (FPS) e segnala i cali prestazionali.
  • gizmo: Interrompe l esecuzione se gli errori JavaScript non gestiti superano la soglia.

Riferimenti

Argomenti correlati