빠른 참조

Gremlins.js 몽키 테스팅 치트시트

Gremlins.js 빠른 참조 가이드: 클릭, 스크롤, 폼 입력, 감시자 Mogwai를 활용한 웹 애플리케이션 자동화 카오스 및 몽키 테스팅.

· 게시일

gremlins.js는 무작위 사용자 상호작용을 시뮬레이션하여 견고성 버그를 찾아내는 웹 앱 및 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('몽키 테스트 실행 시작');
    console.profile('gremlins');
  })
  .after(function () {
    this.log('몽키 테스트 완료');
    console.profileEnd();
  })
  .unleash();

비동기 훅

gremlins.createHorde()
  .before(function (done) {
    setTimeout(() => {
      this.log('비동기 설정 완료');
      done();
    }, 500);
  })
  .unleash();

개체군 참조 (Species)

Gremlins (공격자)

  • formFiller: 입력창, 텍스트에어리어, 셀렉트 폼에 무작위 유효 값을 채웁니다.
  • clicker: 뷰포트 내 활성 요소를 무작위로 클릭합니다.
  • scroller: 화면을 임의의 방향으로 스크롤합니다.
  • typer: 포커스된 입력 필드에 무작위 키를 입력합니다.
  • toucher: 터치 지원 화면에서 터치 제스처를 발생시킵니다.

Mogwais (감시자)

  • alert: window.alert 대화상자 호출을 가로채고 기록합니다.
  • fps: 초당 프레임 수(FPS)를 모니터링하여 프레임 드랍을 기록합니다.
  • gizmo: 처리되지 않은 JavaScript 런타임 오류가 한도를 초과하면 실행을 중단합니다.

참고자료

관련 주제