Γρήγορη αναφορά

Gremlins.js Monkey Testing Σημειώσεις

Γρήγορος οδηγός αναφοράς για το Gremlins.js: αυτοματοποιημένες δοκιμές χάους και monkey testing για εφαρμογές ιστού με clickers, scrollers και mogwais.

· Δημοσιεύτηκε

Το gremlins.js είναι μια βιβλιοθήκη monkey testing για web apps και Node.js που προσομοιώνει τυχαίες αλληλεπιδράσεις χρηστών.

Βασική Χρήση

Εκκίνηση μέσω CDN

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

Προσαρμογή της Ορδής (Horde)

gremlins.createHorde()
  .allGremlins()
  .gremlin(function () {
    // Προσαρμοσμένη ενέργεια που εκτελείται σε τακτά χρονικά διαστήματα
    document.activeElement.blur();
  })
  .unleash();

Πλήρες Παράδειγμα Ρύθμισης

gremlins.createHorde()
  .gremlin(gremlins.species.formFiller())
  .gremlin(gremlins.species.clicker()
    .clickTypes(['click'])
    .canClick(element => element.tagName !== 'A')
    .showAction((x, y) => { /* Οπτικός δείκτης κλικ */ }))
  .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)

Σύγχρονα Before και After

gremlins.createHorde()
  .before(function () {
    this.log('Έναρξη εκτέλεσης monkey test');
    console.profile('gremlins');
  })
  .after(function () {
    this.log('Το monkey test ολοκληρώθηκε');
    console.profileEnd();
  })
  .unleash();

Ασύγχρονα Hooks

gremlins.createHorde()
  .before(function (done) {
    setTimeout(() => {
      this.log('Η ασύγχρονη ρύθμιση ολοκληρώθηκε');
      done();
    }, 500);
  })
  .unleash();

Αναφορά Ειδών (Species Reference)

Gremlins (Επιτιθέμενοι)

  • formFiller: Συμπληρώνει πεδία εισαγωγής, textarea και επιλογές με τυχαία έγκυρα δεδομένα.
  • clicker: Κάνει τυχαία κλικ σε ενεργά στοιχεία του viewport.
  • scroller: Κάνει κύλιση στο παράθυρο σε τυχαίες κατευθύνσεις.
  • typer: Πληκτρολογεί τυχαία πλήκτρα σε εστιασμένα πεδία.
  • toucher: Δημιουργεί χειρονομίες αφής σε οθόνες αφής.

Mogwais (Φύλακες)

  • alert: Παγιδεύει και καταγράφει κλήσεις window.alert.
  • fps: Παρακολουθεί το ρυθμό καρέ (FPS) και καταγράφει πτώσεις.
  • gizmo: Διακόπτει την εκτέλεση όταν τα μη διαχειριζόμενα σφάλματα υπερβούν το όριο.

Αναφορές

Σχετικά θέματα