Référence rapide

Aide-mémoire Monkey Testing avec Gremlins.js

Guide de référence rapide pour Gremlins.js : tests de chaos et monkey testing automatisés pour applications web avec cliqueurs, scrollers et mogwais.

· Publié le

gremlins.js est une bibliothèque de monkey testing pour applications web et Node.js simulant des interactions utilisateurs aléatoires.

Utilisation de base

Exécution via CDN

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

Personnaliser la horde

gremlins.createHorde()
  .allGremlins()
  .gremlin(function () {
    // Action personnalisée exécutée à intervalles réguliers
    document.activeElement.blur();
  })
  .unleash();

Exemple de configuration complète

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

Hooks de cycle de vie

Before et After synchrones

gremlins.createHorde()
  .before(function () {
    this.log('Démarrage de l exécution du monkey test');
    console.profile('gremlins');
  })
  .after(function () {
    this.log('Monkey testing terminé');
    console.profileEnd();
  })
  .unleash();

Hooks asynchrones

gremlins.createHorde()
  .before(function (done) {
    setTimeout(() => {
      this.log('Configuration asynchrone terminée');
      done();
    }, 500);
  })
  .unleash();

Répertoire des espèces

Les Gremlins (Attaquants)

  • formFiller : Remplit les champs de formulaire (inputs, textareas, selects) avec des valeurs aléatoires.
  • clicker : Clique aléatoirement sur des éléments actifs de la page.
  • scroller : Fait défiler la page dans des directions aléatoires.
  • typer : Tape des caractères aléatoires sur les champs de saisie actifs.
  • toucher : Simule des gestes tactiles sur écrans tactiles.

Les Mogwais (Gardiens)

  • alert : Intercepte et consigne les boîtes de dialogue window.alert.
  • fps : Surveille le nombre d images par seconde (FPS) et signale les chutes de performance.
  • gizmo : Arrête l exécution lorsque le nombre d erreurs JavaScript non interceptées dépasse la limite.

Références

Sujets associés