Skip to content

اختبار الـ API

موجود لمهمة واحدة: إنك تبعت طلب للمشروع اللي إنت فاتحه أصلًا وتقرا الرد. Postman لسه هو صاحب المجموعات والـ mocks وشغل الفرق — ده اللي بتمد إيدك عليه بدل ما تسيب المحرر.

شجرة المجلدات، والطلب، والرد — الزمن والحجم وشجرة JSON قابلة للطي.
شجرة المجلدات، والطلب، والرد — الزمن والحجم وشجرة JSON قابلة للطي.

افتحه من أيقونة الإرسال في هيدر اللوحة، أو من أيقونة الإرسال في صف المشروع، أو من قائمة شريط المهام، أو Ctrl+Shift+A من أي مكان.

الرابط الأساسي بيجي من المشروع

فتح مشروع بيفحص ملفات .env بتاعته — الجذر ومستوى واحد تحته، عشان الـ monorepos تشتغل — ويحوّل كل ملف لبيئة: .envlocal، و .env.stagestage، وهكذا.

المفتاح اللي فيه الرابط بيختلف من مشروع لمشروع، فالفاحص عارف التسميات اللي المشاريع دي بتستخدمها فعلًا — VITE_SERVER_URL و VITE_APP_BASE_URL و NUXT_PUBLIC_BASE_URL و EXPO_PUBLIC_API_BASE و AUTH_SERVICE_URL — وبيرجع لأي مفتاح على شكل *_API_URL قيمته http(s)://.

والسطور المعلّقة بتتحسب كمان. سطر زي # VITE_SERVER_URL=https://…-stg-api… بيتعرض كبديل، وما بيتختارش تلقائيًا أبدًا.

كل حاجة قابلة للتعديل بإيدك من ⚙ البيئات، اللي كمان بتعرض كل المرشحين اللي الفاحص لقاهم، فتقدر تشوف اختار كده ليه.

التبويبات المؤقتة

Ctrl+Shift+A بيفتح تبويب ما بيحفظش حاجة: لا ملف ولا سطر في السجل. ولو الحافظة فيها رابط أو أمر curl، بيتعبّى لوحده.

نسخ ← اختصار ← Ctrl+Enter — دي الدورة كلها.

ولو الاختبار طلع يستاهل الاحتفاظ بيه، حفظ في المشروع… بيحوّل التبويب المؤقت لطلب محفوظ حقيقي.

الطلبات المحفوظة بتعيش في المشروع

عشان تمشي مع الكود وتتعمل commit:

<project>/.xtop/api/requests/<slug>.json
<project>/.xtop/api/environments.json

سجل التشغيل والقيم السرية استثناء — دول بيفضلوا في مجلد بيانات البرنامج. ملف الطلب بيسجّل إنه بيستخدم ؛ أما التوكن نفسه فما بيوصلش لأي commit.

بعد طلب تسجيل الدخول، 🔑 حفظ التوكن في بياخد التوكن من الرد ويخزّنه للبيئة دي.

مجلدات متداخلة في الشريط الجانبي

الطلب بيخزّن مجلده كنص مسطّح واحد، واستيراد Postman بيوصل المجلدات المتداخلة بـ " / " — فـ Auth / Admin / Login بتتقرا تلات مستويات، مش مجلد واحد باسم غريب.

الشريط الجانبي بيبني شجرة حقيقية من ده: المجلدات بتتفتح وتتقفل، وبتفتكر كانت مفتوحة ولا لأ، والمجلد المقفول لسه بيعرض عدد كل اللي تحته.

الطلب

  • الميثود والرابط، والـ متحلولة تحته مباشرة. أي اسم مالوش قيمة بيتعلّم بالأحمر قبل الإرسال، بدل ما يفشل كـ 404 تفضل تدوّر على سببه.
  • Params و Headers — صفوف مفتاح/قيمة، كل صف تقدر تفعّله لوحده. الصف المعطّل بيتشطب وبيفضل موجود، فتقدر تشغّل فلتر وتقفله من غير ما تعيد كتابته.
  • Body — JSON (وفيه زر تنسيق)، أو form، أو بلا.
  • Auth — bearer، أو basic، أو مفتاح API في هيدر أو في الرابط.

الرد

شريحة الحالة، والزمن الكلي، وزمن أول بايت، والحجم، وبعدين الجسم في تلات عروض:

  • Pretty — شجرة JSON قابلة للطي مع فلتر بحث في الرد.
  • Raw — الجسم كما رجع بالظبط.
  • Headers — كل هيدرات الرد.

وكمان: نسخ الجسم، حفظه كملف، عدد التحويلات، وتحذير لما الجسم يكون كبير جدًا واتقصّ للعرض.

السجل

كل تشغيل: الميثود والمسار والحالة والمدة والوقت.
كل تشغيل: الميثود والمسار والحالة والمدة والوقت.

تبويب History في الشريط الجانبي بيعرض التشغيلات السابقة للمشروع ده — الميثود، المسار، الحالة (أخضر أو أحمر)، المدة والوقت. الضغط على واحد بيرجّعه. مسح السجل بيفضّيه؛ وهو متخزّن في مجلد بيانات البرنامج، مش في الريبو أبدًا.

الاستيراد والتصدير

  • cURL دخول وخروج — الصق أمر curl عشان يبني طلب، أو صدّر الطلب الحالي عشان تلصقه في ترمينال أو تيكت.
  • استيراد Postman v2.1 — بيجيب مجموعة كاملة بمجلداتها المتداخلة.

TLS لكل بيئة

HTTPS المحلي بشهادة موقّعة ذاتيًا (نطاقات .test، Herd، Valet) بيفشل في التحقق. كل بيئة ليها مفتاح تجاهل أخطاء TLS الخاص بيها، فتشغيله لـ local ما بيضعّفش prod.

الاختصارات

المفتاحالوظيفة
Ctrl+Enterإرسال
Ctrl+Tتبويب مؤقت جديد
Ctrl+Wقفل التبويب
Ctrl+Sحفظ