أثناء تطوير الرد التلقائي على الويب، قد تحتاج إلى اختباره باستخدام نموذج "نشاط تجاري" حمولات الرسائل بدلاً من إنشاء الاختبارات يدويًا، يمكنك استخدام واجهة إطار عمل اختبار تطبيق "الرسائل" لاختبار الرد التلقائي على الويب باستخدام أنواع حمولة 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});