Snelle referentie

Gremlins.js Monkey-Testing Spiekbrief

Een beknopte referentiehandleiding voor Gremlins.js: geautomatiseerde chaos- en monkey-testing voor webapps met clickers, form fillers en mogwais.

· Gepubliceerd

gremlins.js is een monkey-testing-bibliotheek voor webapps en Node.js die willekeurige gebruikersinteracties simuleert.

Basisgebruik

Uitvoeren via CDN

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

De Horde Aanpassen

gremlins.createHorde()
  .allGremlins()
  .gremlin(function () {
    // Aangepaste actie uitgevoerd op gezette tijden
    document.activeElement.blur();
  })
  .unleash();

Volledig Configuratievoorbeeld

gremlins.createHorde()
  .gremlin(gremlins.species.formFiller())
  .gremlin(gremlins.species.clicker()
    .clickTypes(['click'])
    .canClick(element => element.tagName !== 'A')
    .showAction((x, y) => { /* Visuele klikindicator */ }))
  .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 en After

gremlins.createHorde()
  .before(function () {
    this.log('Start van monkey-testuitvoering');
    console.profile('gremlins');
  })
  .after(function () {
    this.log('Monkey-testing voltooid');
    console.profileEnd();
  })
  .unleash();

Asynchrone Hooks

gremlins.createHorde()
  .before(function (done) {
    setTimeout(() => {
      this.log('Asynchrone setup voltooid');
      done();
    }, 500);
  })
  .unleash();

Species Referentie

Gremlins (Aanvallers)

  • formFiller: Vult input-, textarea- en select-velden met willekeurige data.
  • clicker: Klikt willekeurig op actieve elementen in de viewport.
  • scroller: Scrolt het venster in willekeurige richtingen.
  • typer: Typt willekeurige toetsen in actieve invoervelden.
  • toucher: Genereert aanraakbewegingen op touchscreens.

Mogwais (Waakhonden)

  • alert: Onderschept en logt window.alert-aanroepen.
  • fps: Bewaakt de framerate (FPS) en signaleert vertragingen.
  • gizmo: Stopt de uitvoering wanneer JavaScript-fouten de limiet overschrijden.

Referenties

Verwante onderwerpen