Kurzreferenz

Gremlins.js Monkey-Testing Spickzettel

Ein Schnellreferenz-Leitfaden für Gremlins.js: Automatisiertes Chaos- und Monkey-Testing für Webanwendungen mit Klickern, Formularausfüllern und Mogwais.

· Veröffentlicht

gremlins.js ist eine Monkey-Testing-Bibliothek für Web-Apps und Node.js, die zufällige Benutzerinteraktionen simuliert.

Grundlegende Verwendung

CDN-Integration

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

Anpassen der Horde

gremlins.createHorde()
  .allGremlins()
  .gremlin(function () {
    // Benutzerdefinierte Aktion in regelmäßigen Intervallen
    document.activeElement.blur();
  })
  .unleash();

Vollständiges Konfigurationsbeispiel

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

Lifecycle-Hooks

Synchrone Before- und After-Hooks

gremlins.createHorde()
  .before(function () {
    this.log('Beginn der Monkey-Test-Ausführung');
    console.profile('gremlins');
  })
  .after(function () {
    this.log('Monkey-Testing abgeschlossen');
    console.profileEnd();
  })
  .unleash();

Asynchrone Hooks

gremlins.createHorde()
  .before(function (done) {
    setTimeout(() => {
      this.log('Asynchrones Setup abgeschlossen');
      done();
    }, 500);
  })
  .unleash();

Arten-Referenz (Species Reference)

Gremlins (Angreifer)

  • formFiller: Füllt Formularelemente wie Inputs, Textareas und Selects mit zufälligen Daten aus.
  • clicker: Klickt zufällig auf aktive Elemente im Viewport.
  • scroller: Scrollt das Fenster in zufällige Richtungen.
  • typer: Tippt zufällige Tastenanschläge in fokussierte Eingabefelder.
  • toucher: Erzeugt Touch-Gesten auf touchfähigen Bildschirmen.

Mogwais (Wachhunde)

  • alert: Fängt Aufrufe von window.alert ab und protokolliert sie.
  • fps: Überwacht die Bildwiederholrate (FPS) und meldet Einbrüche.
  • gizmo: Stoppt die Ausführung, wenn JavaScript-Laufzeitfehler das Limit überschreiten.

Referenzen

Verwandte Themen