Referência rápida

Guia Rápido de Monkey Testing com Gremlins.js

Guia de referência rápida para Gremlins.js: testes de caos e monkey testing automatizados para aplicações web com clickers, form fillers e mogwais.

· Publicado

gremlins.js é uma biblioteca de monkey testing para web apps e Node.js que simula interações aleatórias de usuários.

Uso Básico

Execução via CDN

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

Personalizando a Horda

gremlins.createHorde()
  .allGremlins()
  .gremlin(function () {
    // Ação customizada executada em intervalos regulares
    document.activeElement.blur();
  })
  .unleash();

Exemplo de Configuração Completa

gremlins.createHorde()
  .gremlin(gremlins.species.formFiller())
  .gremlin(gremlins.species.clicker()
    .clickTypes(['click'])
    .canClick(element => element.tagName !== 'A')
    .showAction((x, y) => { /* Indicador visual de clique */ }))
  .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 Ciclo de Vida

Before e After Síncronos

gremlins.createHorde()
  .before(function () {
    this.log('Iniciando execução do monkey testing');
    console.profile('gremlins');
  })
  .after(function () {
    this.log('Monkey testing concluído');
    console.profileEnd();
  })
  .unleash();

Hooks Assíncronos

gremlins.createHorde()
  .before(function (done) {
    setTimeout(() => {
      this.log('Configuração assíncrona concluída');
      done();
    }, 500);
  })
  .unleash();

Referência de Espécies

Gremlins (Atacantes)

  • formFiller: Preenche inputs, textareas e selects com valores aleatórios válidos.
  • clicker: Clica aleatoriamente em elementos ativos da tela.
  • scroller: Rola a janela em direções aleatórias.
  • typer: Digita teclas aleatórias em campos focados.
  • toucher: Gera toques em telas sensíveis ao toque.

Mogwais (Guardiões)

  • alert: Intercepta e registra chamadas de window.alert.
  • fps: Monitora a taxa de quadros (FPS) e alerta sobre quedas.
  • gizmo: Interrompe a execução se os erros não tratados de JavaScript excederem o limite.

Referências

Temas relacionados