Skip to content

اختبار الـ API ​

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

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

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

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

أول ما تفتح مشروع، البرنامج بيقرا ملفات .env بتاعته — اللي في الجذر واللي في مستوى واحد تحته، عشان الـ monorepos تشتغل — وبيحوّل كل ملف لبيئة: .env ← local، و .env.stage ← stage، وهكذا.

وكل مشروع بيسمّي الرابط الأساسي باسم مختلف، فالبرنامج بيدوّر على الأسماء المشهورة — VITE_SERVER_URL و VITE_APP_BASE_URL و NUXT_PUBLIC_BASE_URL و EXPO_PUBLIC_API_BASE و AUTH_SERVICE_URL — ولو مالقاش ولا واحد فيهم، بياخد أي مفتاح آخره _API_URL وقيمته بتبدأ بـ http:// أو https://.

والسطور المتعلّق عليها بتتحسب كمان. سطر زي # 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.

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

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

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

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

الطلب ​

  • الميثود والرابط، وتحتيهم على طول قيمة كل وإنت بتكتب. وأي متغيّر مالوش قيمة بيتعلّم بالأحمر قبل ما تبعت، بدل ما يرجعلك 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حفظ