اختبار الرد التلقائي على الويب

أثناء تطوير الرد التلقائي على الويب، قد تحتاج إلى اختباره باستخدام نموذج "نشاط تجاري" حمولات الرسائل بدلاً من إنشاء الاختبارات يدويًا، يمكنك استخدام واجهة إطار عمل اختبار تطبيق "الرسائل" لاختبار الرد التلقائي على الويب باستخدام أنواع حمولة JSON المختلفة التي قد يتلقاها الرد التلقائي على الويب في الإنتاج.

للبدء، كل ما تحتاجه هو عنوان URL مثيل قيد التشغيل للردّ التلقائي على الويب. إطار عمل الاختبار سهل التثبيت، يمكنك اختبار الرد التلقائي على الويب باستخدام أمر واحد.

الخطوات الأولى

تثبيت إطار العمل

وتتمثل أسهل طريقة لتثبيت إطار العمل في استخدام مدير حزم NPM. يتم نشر إطار العمل في سجلّ حزمة NPM، لذا يمكنك تثبيته. مع npm:

npm install -g bm-test-framework

إجراء الاختبارات

بعد تثبيت الحزمة، يمكنك تقديم عنوان URL للردّ التلقائي على الويب كبيئة. متغيّر وننفِّذ جميع الاختبارات باستخدام الأمر التالي:

BMTF_ENDPOINT_URL=<Your webhook URL> bm-test-framework

تظهر نتائج إطار عمل الاختبار على النحو التالي:

  Sending payloads to <Your webhook URL>
      ✔ authentication-request.json should return 200
      ✔ event-receive.json should return 200
      ✔ image-message.json should return 200 (862ms)
      ✔ read-receipt.json should return 200
      ✔ suggestion-message.json should return 200
      ✔ text-message.json should return 200 (134ms)
      ✔ text-with-dialogflow-response.json should return 200 (128ms)
      ✔ user-receipt.json should return 200

في هذا المثال عن إجراء الاختبار، اجتزت جميع حالات الاختبار.

في حال تعذّر الردّ التلقائي على الويب في إحدى حالات الاختبار، يعني ذلك أنّ الردّ التلقائي على الويب لا والاستجابة باستخدام 200 OK لحمولة JSON الخاصة بحالة الاختبار هذه. في هذه الحالة، لا يمكن اختبار يطبع إطار العمل معلومات عن الأخطاء لمساعدتك على تصحيح الأخطاء. يمكنك الاطّلاع على ملف تمهيدي لإطار عمل الاختبار لمعرفة المزيد عن حالات اختبار معينة.

استخدام إطار العمل في مشروع NodeJS

لاستخدام إطار العمل من داخل التعليمات البرمجية الخاصة بك في مشروع NodeJS، أو من داخل مجموعة اختبار Mocha، فابدأ بتثبيت الحزمة أولاً كتطوير التبعية:

npm install --save-dev bm-test-framework

وبعد تثبيت العناصر، يمكنك إنشاء عنصر BmTestFramework لإدارة الاختبارات:

const BmTestFramework = require('bm-test-framework');
const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>});

تحتوي مصفوفة العضو payloads على جميع حالات الاختبار. يمكنك استخدام صفحة sendPayload لإجراء اختبار محدّد. على سبيل المثال، يُنشئ الكود التالي وإجراء الاختبار الأول في إطار العمل:

bmTestFramework.sendPayload(bmTestFramework.payloads[0])

ضبط إعدادات الاختبارات

بالإضافة إلى متغيّر بيئة BMTF_ENDPOINT_URL المطلوب، يمكنك أيضًا ضبط متغيرات بيئة اختيارية لتخصيص سلوك الاختبار:

متغيّر البيئة اسم حقل الإعداد النوع الوصف
BMTF_RANDOM_UUID randomUuid منطقي في حال ضبط هذه السياسة على "صحيح"، يتم ضبط معرّف المحادثة على معرّف فريد عالمي عشوائي بتنسيق صالح. إذا كانت القيمة "false"، يضبط جميع معرّفات المحادثات على "CONVERSATION-ID".
BMTF_TIMEOUT وقت مستقطع رقم أو سلسلة زمنية منسَّقة لضبط المهلة بالمللي ثانية لكل حالة اختبار. المهلة التلقائية هي 2000 ملي ثانية لكل حالة اختبار. اطّلِع على مرجع Mocha API لمعرفة مواصفات النوع والتنسيق التفصيلية.

على سبيل المثال، تشغّل التعليمة البرمجية التالية إطار العمل التجريبي من سطر الأوامر مع تفعيل خيار المعرّف الفريد العالمي (UUID) العشوائي ومهلة 1000 ملي ثانية:

BMTF_ENDPOINT_URL=<Your webhook URL> BMTF_TIMEOUT=1000 BMTF_RANDOM_UUID=true bm-test-framework

لتخصيص سلوك الاختبار في مشروع NodeJS، يمكنك أيضًا تمرير المتغيّرات نفسها في الكائن config عند إنشاء BmTestFramework:

const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>, randomUuid: true, timeout: 1000});