DEV Community

Cover image for كيفية الترحيل من inso (Insomnia CLI) إلى Apidog CLI
Yusuf Khalidd
Yusuf Khalidd

Posted on • Originally published at apidog.com

كيفية الترحيل من inso (Insomnia CLI) إلى Apidog CLI

إذا كنت تشغّل اختبارات API باستخدام inso، واجهة سطر الأوامر الخاصة بـ Kong Insomnia، وتريد الانتقال إلى Apidog CLI، فتعامل مع الترحيل كعملية تنفيذية: صدّر مواصفات OpenAPI ومجموعات الطلبات من Insomnia، استوردها إلى Apidog، أعد بناء حزم الاختبار كسيناريوهات اختبار، ثم استبدل أوامر inso run بأوامر apidog run داخل CI.

جرّب Apidog اليوم

لماذا الترحيل من inso إلى Apidog CLI؟

inso أداة قوية لتشغيل الطلبات، وفحص مواصفات OpenAPI عبر Spectral، وتشغيل اختبارات Insomnia من الطرفية. إذا كان سير العمل الحالي مستقرًا لديك، فلا تحتاج إلى تغييره لمجرد التغيير.

لكن غالبًا تظهر الحاجة إلى الترحيل بسبب نقطتين عمليتين:

  • اعتماد تطبيق Insomnia على الحساب السحابي. منذ Insomnia 8، أصبح تسجيل الدخول/الحساب السحابي جزءًا إلزاميًا من التجربة، وهو ما لا يناسب فرقًا تفضّل أدوات محلية أولًا.
  • مشكلات فقدان البيانات أو الترحيل. إذا واجهت فقدان بيانات أثناء الانتقال، ابدأ من دليل استعادة وتصدير بيانات Insomnia أو دليل استعادة بيانات Insomnia 8 والترحيل.

السبب الآخر هو التوحيد. مع inso قد تستخدم Insomnia للطلبات، وSpectral للفحص، وأدوات أخرى للمحاكاة والوثائق. في Apidog، التصميم، والتصحيح، والاختبار، والمحاكاة، والوثائق موجودة في منصة واحدة، بينما يتولى Apidog CLI تشغيل الاختبارات من الطرفية وداخل CI.

للسياق الأوسع، راجع مقارنة Apidog بـ Insomnia واختيار الأداة المناسبة لتطوير API بين Insomnia و Apidog.

قبل أن تبدأ: ما الذي ينتقل وما الذي لا ينتقل؟

استخدم الجدول التالي لتحديد نطاق الترحيل قبل تعديل CI أو إعادة بناء الاختبارات:

الأصل في Insomnia هل ينتقل إلى Apidog؟ طريقة النقل
وثائق OpenAPI / التصميم نعم صدّرها إلى YAML/JSON ثم استوردها إلى Apidog
مجموعات الطلبات نعم صدّرها من Insomnia ثم استوردها
البيئات والمتغيرات نعم أعد إنشاءها كبيئات Apidog
حزم اختبار الوحدات inso run test جزئيًا أعد بناءها كسيناريوهات اختبار Apidog
تكوين Spectral عبر inso lint spec لا يوجد تطابق 1:1 احتفظ بـ Spectral في CI إذا كنت تعتمد عليه

ملاحظة مهمة: inso lint spec يشغّل Spectral، وهي أداة فحص OpenAPI مستقلة. Apidog CLI لا يوفّر أمر فحص مواصفات مستقلًا مثل apidog lint، ولا يستبدل قواعد Spectral المخصصة. يتحقق Apidog من صحة المواصفات عند الاستيراد، لكن إذا كان CI لديك يعتمد على Spectral كـ quality gate، فاحتفظ به بجانب apidog run.

الخطوة 1: تصدير مواصفاتك من Insomnia

إذا كانت لديك مواصفات OpenAPI داخل Insomnia، يمكنك تصديرها باستخدام inso:

# تصدير مستند OpenAPI إلى ملف YAML
inso export spec "My API Design" --output my-api.yaml
Enter fullscreen mode Exit fullscreen mode

إذا لم يجد inso بيانات المشروع، حدّد مصدر البيانات صراحةً:

inso export spec "My API Design" \
  --workingDir ./design \
  --output my-api.yaml
Enter fullscreen mode Exit fullscreen mode

أو استخدم --src إذا كنت تعتمد على مصدر مختلف.

بالنسبة إلى مجموعات الطلبات أو أي بيانات لا يصدّرها inso بالشكل المطلوب، استخدم تطبيق Insomnia:

  1. افتح مساحة العمل.
  2. اختر المجموعة أو التصميم.
  3. استخدم Export.
  4. احفظ نسخة OpenAPI أو Insomnia v4.
  5. احتفظ بملف التصميم وملف المجموعة بشكل منفصل للاستيراد لاحقًا.

إذا كنت تستعيد بيانات بعد مشكلة في Git Sync أو الحساب السحابي، اتبع إرشادات التصدير والاسترداد أولًا.

الخطوة 2: استيراد OpenAPI إلى Apidog

افتح Apidog، أنشئ مشروعًا، ثم استورد ملف YAML أو JSON الذي صدّرته.

بعد الاستيراد، ستحصل على موارد قابلة للإدارة داخل المشروع:

  • Endpoints
  • Schemas
  • Examples
  • Environments
  • Test Scenarios
  • Mocking
  • Documentation

يمكنك أيضًا استخدام Apidog CLI في إعدادات مؤتمتة عند تنفيذ ترحيل لفريق كامل بدل الاستيراد اليدوي من الواجهة. لإعداد CLI والمصادقة، راجع دليل تثبيت Apidog CLI والدليل الكامل لواجهة سطر الأوامر.

عند الاستيراد، يتحقق Apidog من صحة ملف OpenAPI. هذا مفيد لاكتشاف الأخطاء الهيكلية مبكرًا، لكنه ليس بديلًا عن Spectral إذا كنت تستخدم قواعد فحص مخصصة.

الخطوة 3: تحويل أوامر inso إلى apidog run

ابدأ من أوامر CI الحالية لديك، ثم استبدلها واحدًا بواحد.

ما تريد فعله أمر inso المقابل في Apidog CLI
تشغيل حزمة اختبار inso run test "Smoke Suite" --env "Staging" apidog run --test-scenario "Smoke Suite" -e staging
تشغيل مجموعة inso run collection "Checkout Flow" --env "Staging" apidog run "Checkout Flow" -e staging
تشغيل سكريبت مسمى inso script ci-smoke --env <env-id> استخدم apidog run -e <env-id> داخل سكريبت CI
فحص مواصفات OpenAPI inso lint spec "My API Design" لا يوجد تطابق 1:1؛ استخدم Spectral أو تحقق الاستيراد
تصدير مواصفات إلى ملف inso export spec "My API Design" --output api.yaml يتم عبر استيراد/تصدير Apidog، وليس run

مثال عملي قبل وبعد:

# قبل: تشغيل Smoke Suite عبر inso
inso run test "Smoke Suite" --env "Staging"
Enter fullscreen mode Exit fullscreen mode
# بعد: تشغيل نفس السيناريو عبر Apidog CLI
apidog run --test-scenario "Smoke Suite" -e staging
Enter fullscreen mode Exit fullscreen mode

انتبه إلى ثلاث نقاط أثناء التحويل:

  • البيئات: inso يستخدم --env. في Apidog استخدم -e أو --env.
  • حزم الاختبار: حزم inso run test يجب إعادة بنائها كسيناريوهات اختبار في Apidog.
  • السكريبتات المسماة: إذا كنت تستخدم inso script، فاستبدلها باستدعاء مباشر لـ apidog run داخل GitHub Actions أو GitLab CI أو npm scripts أو Makefile.

لمقارنة أوسع بين الأوامر، راجع Apidog CLI مقابل inso. وإذا كنت تقارن مع أدوات أخرى، فهناك أيضًا Apidog CLI مقابل Newman وApidog CLI مقابل Postman CLI.

الخطوة 4: إعادة بناء حزم الاختبار كسيناريوهات Apidog

حزمة اختبار Insomnia عادةً تتكون من:

  1. طلبات مرتبة.
  2. متغيرات بيئة.
  3. Assertions.
  4. منطق تحقق بعد كل طلب.

في Apidog، أعد تمثيل ذلك كسيناريو اختبار:

  1. أنشئ Test Scenario جديدًا.
  2. أضف الطلبات بالترتيب نفسه.
  3. اربط السيناريو بالبيئة المناسبة.
  4. أضف assertions لكل خطوة.
  5. شغّله محليًا قبل نقله إلى CI.

بعد ذلك يمكنك تشغيله من الطرفية:

apidog run --test-scenario "Smoke Suite" -e staging
Enter fullscreen mode Exit fullscreen mode

إذا كان لديك أكثر من بيئة، استخدم نفس السيناريو مع بيئة مختلفة:

apidog run --test-scenario "Smoke Suite" -e dev
apidog run --test-scenario "Smoke Suite" -e staging
apidog run --test-scenario "Smoke Suite" -e production
Enter fullscreen mode Exit fullscreen mode

الخطوة 5: ضبط التقارير

كان inso يدعم مخرجات CLI وتقارير JUnit. في Apidog CLI يمكنك إخراج النتائج بصيغ CLI وHTML وJSON:

# تشغيل سيناريو مع تقرير CLI وHTML
apidog run --test-scenario "Smoke Suite" \
  -e staging \
  -r cli,html
Enter fullscreen mode Exit fullscreen mode

استخدم الصيغة المناسبة حسب المستهلك:

  • cli: لعرض سريع داخل سجل CI.
  • html: لتقرير قابل للمراجعة البشرية.
  • json: للمعالجة اللاحقة بواسطة أدوات أخرى.

مثال لتوليد مخرجات مناسبة لـ CI:

apidog run --test-scenario "Smoke Suite" \
  -e ci \
  -r cli,json
Enter fullscreen mode Exit fullscreen mode

وإذا أردت رفع التقرير إلى تقارير Apidog السحابية:

apidog run --test-scenario "Smoke Suite" \
  -e ci \
  -r cli,json \
  --upload-report
Enter fullscreen mode Exit fullscreen mode

راجع دليل تقارير الاختبار للتفاصيل.

الخطوة 6: نقل الاختبارات القائمة على البيانات

إذا كانت اختباراتك تعتمد على بيانات متعددة مثل مستخدمين أو مدخلات تسجيل دخول أو حالات دفع مختلفة، استخدم -d مع CSV أو JSON:

apidog run --test-scenario "Login Matrix" \
  -e staging \
  -d ./users.csv \
  -r cli,json
Enter fullscreen mode Exit fullscreen mode

مثال CSV:

email,password,expectedStatus
user1@example.com,secret123,200
locked@example.com,secret123,403
wrong@example.com,badpass,401
Enter fullscreen mode Exit fullscreen mode

الفكرة هي أن السيناريو يعمل مرة لكل صف، مع ربط القيم بمتغيرات السيناريو. راجع دليل الاختبار القائم على البيانات لتنسيقات البيانات وربط المتغيرات.

الخطوة 7: تحديث CI/CD

إذا كان لديك أمر قديم في GitHub Actions أو GitLab CI مثل:

# قبل: inso في CI
inso run test "Smoke Suite" --env "CI" --reporter junit
Enter fullscreen mode Exit fullscreen mode

استبدله بـ:

# بعد: Apidog CLI في CI
apidog run --test-scenario "Smoke Suite" \
  -e ci \
  -r cli,json \
  --upload-report
Enter fullscreen mode Exit fullscreen mode

استخدم رمز وصول محفوظًا كـ CI secret للمصادقة، كما تفعل مع أي أداة تحتاج بيانات اعتماد.

مثال مبسط لخطوة CI:

- name: Run API tests
  run: |
    apidog run --test-scenario "Smoke Suite" \
      -e ci \
      -r cli,json \
      --upload-report
  env:
    APIDOG_ACCESS_TOKEN: ${{ secrets.APIDOG_ACCESS_TOKEN }}
Enter fullscreen mode Exit fullscreen mode

لأمثلة جاهزة، راجع دليل CI/CD ودليل GitHub Actions. وللمصادقة والرموز، راجع مصادقة Apidog CLI.

إبقاء Spectral في CI عند الحاجة

إذا كان لديك فحص OpenAPI بقواعد Spectral مخصصة، لا تحذفه أثناء الترحيل. اجعل CI يحتوي على بوابتين:

# فحص OpenAPI باستخدام Spectral
npx @stoplight/spectral-cli lint my-api.yaml

# تشغيل اختبارات API باستخدام Apidog CLI
apidog run --test-scenario "Smoke Suite" \
  -e ci \
  -r cli,json
Enter fullscreen mode Exit fullscreen mode

بهذا تحافظ على فحص المواصفات كما هو، وتستخدم Apidog لتشغيل الاختبارات وإدارة السيناريوهات والتقارير.

ملخص سريع: inso مقابل Apidog CLI

القدرة inso / Insomnia CLI Apidog CLI
تشغيل المجموعات والحزم نعم نعم
اختيار البيئة --env -e / --env
فحص OpenAPI نعم عبر Spectral لا يوجد أمر مستقل؛ تحقق عند الاستيراد
الاختبار القائم على البيانات محدود نعم عبر -d مع CSV/JSON
التقارير CLI وJUnit CLI وHTML وJSON ورفع سحابي
مصدر البيانات دليل .insomnia مشروع Apidog وموارده
المنصة Insomnia + أدوات خارجية تصميم، اختبار، محاكاة، وثائق في منصة واحدة

قائمة تحقق للترحيل

استخدم هذه القائمة لتقليل الأخطاء أثناء الانتقال:

  • [ ] صدّرت ملف OpenAPI من Insomnia.
  • [ ] صدّرت مجموعات الطلبات إن وجدت.
  • [ ] استوردت المواصفات إلى Apidog.
  • [ ] أعدت إنشاء البيئات والمتغيرات.
  • [ ] أعدت بناء حزم الاختبار كسيناريوهات Apidog.
  • [ ] شغّلت السيناريوهات محليًا باستخدام apidog run.
  • [ ] حدّثت أوامر CI.
  • [ ] أضفت التقارير المناسبة: cli أو json أو html.
  • [ ] أبقيت Spectral في CI إذا كنت تعتمد على قواعد فحص مخصصة.

الأسئلة الشائعة

هل يمكن استيراد مواصفات OpenAPI من Insomnia إلى Apidog مباشرة؟

غالبًا نعم. صدّر المواصفات كـ YAML أو JSON، ثم استوردها إلى Apidog. إذا ظهرت أخطاء أثناء التحقق، فهي غالبًا مشاكل هيكلية في ملف OpenAPI نفسه.

هل يحتوي Apidog CLI على بديل مباشر لـ inso lint spec؟

لا. Apidog يتحقق من صحة المواصفات عند الاستيراد، لكنه لا يوفر أمر lint مستقلًا ولا يستبدل Spectral. إذا كنت تحتاج قواعد فحص مخصصة، احتفظ بـ Spectral. للمقارنة، راجع Apidog CLI مقابل Redocly CLI.

هل يمكن تشغيل Apidog CLI داخل CI مثل inso؟

نعم. استبدل الأمر، أضف رمز الوصول كـ secret، واختر تنسيق التقرير المناسب. راجع دليل CI/CD.

ماذا يحدث لحزم اختبار Insomnia؟

ستعيد بناءها كسيناريوهات اختبار Apidog. الهيكل نفسه تقريبًا: طلبات مرتبة، متغيرات، وتأكيدات. بعد إعادة البناء مرة واحدة، يمكنك تشغيلها عبر apidog run.

ماذا أفعل إذا كنت أهاجر بسبب فقدان بيانات في Insomnia؟

ابدأ باستعادة وتصدير البيانات باستخدام دليل الاسترداد والتصدير، ثم استورد النسخة النظيفة إلى Apidog.

خاتمة

الترحيل من inso إلى Apidog CLI ليس إعادة بناء كاملة لسير العمل، بل تحويل عملي: صدّر مواصفاتك، استوردها إلى Apidog، أعد بناء حزم الاختبار كسيناريوهات، واستبدل أوامر inso run بأوامر apidog run. استخدم -e للبيئات، و-r للتقارير، و-d للاختبارات القائمة على البيانات.

إذا كنت تستخدم Spectral للفحص، أبقه في CI. أما تشغيل الاختبارات، وإدارة السيناريوهات، والتقارير، فيمكن نقلها إلى Apidog CLI. للبدء، حمّل Apidog وشغّل أول سيناريو باستخدام apidog run.

Top comments (0)