Szybka pomoc

Ściągawka z Monkey Testing w Gremlins.js

Szybki przewodnik referencyjny po Gremlins.js: zautomatyzowane testy chaosu i monkey testing dla aplikacji internetowych z klikaczami, scrollerami i mogwaiami.

· Opublikowano

gremlins.js to biblioteka do testów typu monkey testing dla aplikacji webowych i Node.js, symulująca losowe interakcje użytkownika.

Podstawowe użycie

Uruchomienie przez CDN

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

Konfiguracja Hordy

gremlins.createHorde()
  .allGremlins()
  .gremlin(function () {
    // Niestandardowa akcja wykonywana w regularnych odstępach
    document.activeElement.blur();
  })
  .unleash();

Pełny przykład konfiguracji

gremlins.createHorde()
  .gremlin(gremlins.species.formFiller())
  .gremlin(gremlins.species.clicker()
    .clickTypes(['click'])
    .canClick(element => element.tagName !== 'A')
    .showAction((x, y) => { /* Wizualny wskaźnik kliknięcia */ }))
  .gremlin(gremlins.species.scroller())
  .gremlin(gremlins.species.typer())
  .mogwai(gremlins.mogwais.alert())
  .mogwai(gremlins.mogwais.fps())
  .mogwai(gremlins.mogwais.gizmo().maxErrors(2))
  .unleash();

Hooki cyklu życia

Synchroniczne Before i After

gremlins.createHorde()
  .before(function () {
    this.log('Rozpoczęcie wykonywania monkey testów');
    console.profile('gremlins');
  })
  .after(function () {
    this.log('Zakończono monkey testing');
    console.profileEnd();
  })
  .unleash();

Hooki asynchroniczne

gremlins.createHorde()
  .before(function (done) {
    setTimeout(() => {
      this.log('Zakończono asynchroniczną konfigurację');
      done();
    }, 500);
  })
  .unleash();

Spis gatunków (Species Reference)

Gremliny (Atakujący)

  • formFiller: Wypełnia kontrolki formularza (input, textarea, select) losowymi danymi.
  • clicker: Losowo klika interaktywne elementy na ekranie.
  • scroller: Przewija okno w losowych kierunkach.
  • typer: Losowo wpisuje znaki w polach formularzy.
  • toucher: Generuje gesty dotykowe na ekranach dotykowych.

Mogwaie (Strażnicy)

  • alert: Przechwytuje i rejestruje wywołania okienek window.alert.
  • fps: Monitoruje liczbę klatek na sekundę (FPS) i zgłasza spadki płynności.
  • gizmo: Zatrzymuje działanie, gdy liczba nieobsłużonych błędów JS przekroczy limit.

Źródła i dokumentacja

Powiązane tematy