مرجع سريع

ورقة غش اختبار القرود Gremlins.js

دليل مرجعي سريع لمكتبة Gremlins.js: اختبارات الفوضى والقرود الآلية لتطبيقات الويب باستخدام النقرات واللمس وملء النماذج والتمرير و mogwais.

· تاريخ النشر

gremlins.js هي مكتبة لاختبار القرود (Monkey Testing) لتطبيقات الويب وبيئة 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 Reference)

فصائل Gremlins (المهاجمون)

  • formFiller: يملأ حقول الإدخال، ومناطق النصوص، وقوائم التحديد ببيانات عشوائية صالحة.
  • clicker: ينقر عشوائياً على العناصر النشطة في إطار العرض.
  • scroller: يقوم بتمرير النافذة في اتجاهات ومسافات عشوائية.
  • typer: يكتب عشوائياً عبر لوحة المفاتيح في حقول الإدخال النشطة.
  • toucher: يولد إيماءات اللمس على الشاشات التي تدعم اللمس.

فصائل Mogwais (المراقبون والحراس)

  • alert: يلتقط ويسجل استدعاءات مربعات الحوار window.alert.
  • fps: يراقب معدل الإطارات في الثانية ويسجل الهبوط الحاد عن الحد المسموح.
  • gizmo: يوقف التنفيذ عندما يتجاوز عدد أخطاء جافا سكريبت غير الملتقطة الحد الأقصى.

مراجع مفيدة

موضوعات ذات صلة