كيفية استخدام مختبِر REST API
- أنشئ الطلب كما في منشئ طلبات API.
- افتح تبويب «التأكيدات» (Assertions) واكتب توقعات مثل "status == 200" أو "jsonpath $.data.id exists".
- أرسل. تُنفَّذ التأكيدات على الاستجابة وتُعرض فوق الجسم مع شارات PASS/FAIL.
- أصلح التوقعات الفاشلة أو واجهة API، ثم أعد الإرسال وصدّر خطوة الاختبار إلى مستودعك.
مزايا مختبِر REST API
- محرّر طلبات كامل (المعاملات والترويسات والجسم والمصادقة) مع الإرسال عبر المُرحِّل أو مباشرةً
- تأكيدات على الحالة والترويسات وقيم JSONPath ونص الجسم وزمن الاستجابة — تأكيد واحد في كل سطر
- جدول نجاح/فشل مع القيم الفعلية وشروح مفهومة
- تصدير الطلب والتأكيدات وآخر نتيجة كخطوة اختبار بصيغة JSON (مع أمر cURL)
- جسم الاستجابة بصيغة JSON منسّقة أو شجرة أو خام؛ وجدول ترويسات؛ وتصدير إلى كود
مثال على مختبِر REST API
تأكيدات على استجابة JSON
الإدخال:
GET https://httpbin.org/json
status == 200
header Content-Type contains json
jsonpath $.slideshow.slides[0].type == "all"
time < 3000النتيجة:
4/4 passed
PASS status == 200 — Status is 200.
PASS header Content-Type contains json — Header Content-Type contains "json".
PASS jsonpath $.slideshow.slides[0].type == "all" — equals "all".
PASS time < 3000 — Responded in 412 ms (< 3000 ms).الأسئلة الشائعة حول مختبِر REST API
كيف أكتب التأكيدات؟
تأكيد واحد في كل سطر داخل تبويب التأكيدات: status == 200، أو status in 200,201، أو header Content-Type contains json، أو header X-Request-Id exists، أو jsonpath $.data.id == 42، أو jsonpath $.items[0] exists، أو body contains "ok"، أو time < 500.
ما صيغة JSONPath المدعومة؟
المسارات بالنقطة والأقواس المربعة، وأحرف البدل، والنزول التكراري (..)، والشرائح (slices)، والاتحادات (unions)، وتعبيرات التصفية مثل $.items[?(@.price > 10)].id.
هل يمكنني حفظ الاختبار؟
استخدم «تصدير خطوة الاختبار» لتنزيل ملف JSON يتضمن الطلب والتأكيدات وآخر نتيجة، جاهزاً للإضافة إلى مستودع اختبارات أو لإعادة تشغيله بأمر cURL المرفق.
ماذا يحدث إذا لم يكن الجسم بصيغة JSON؟
تستمر تأكيدات الحالة والترويسات واحتواء الجسم والزمن في العمل؛ أما تأكيدات JSONPath فتفشل مع رسالة واضحة.
ملاحظات تقنية
تُحلَّل قيم التأكيدات بوصفها JSON متى أمكن (الأعداد والقيم المنطقية والسلاسل النصية بين علامات اقتباس والكائنات) وتُقارن دلالياً؛ وعند تعذّر ذلك تُقارن الصيغ النصية. ويستخدم JSONPath المقيّم المدمج نفسه المشترك مع مختبِر JSON Path.