إذا كنت تشغّل اختبارات API باستخدام inso، واجهة سطر الأوامر الخاصة بـ Kong Insomnia، وتريد الانتقال إلى Apidog CLI، فتعامل مع الترحيل كعملية تنفيذية: صدّر مواصفات OpenAPI ومجموعات الطلبات من Insomnia، استوردها إلى Apidog، أعد بناء حزم الاختبار كسيناريوهات اختبار، ثم استبدل أوامر inso run بأوامر apidog run داخل CI.
لماذا الترحيل من 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
إذا لم يجد inso بيانات المشروع، حدّد مصدر البيانات صراحةً:
inso export spec "My API Design" \
--workingDir ./design \
--output my-api.yaml
أو استخدم --src إذا كنت تعتمد على مصدر مختلف.
بالنسبة إلى مجموعات الطلبات أو أي بيانات لا يصدّرها inso بالشكل المطلوب، استخدم تطبيق Insomnia:
- افتح مساحة العمل.
- اختر المجموعة أو التصميم.
- استخدم Export.
- احفظ نسخة OpenAPI أو Insomnia v4.
- احتفظ بملف التصميم وملف المجموعة بشكل منفصل للاستيراد لاحقًا.
إذا كنت تستعيد بيانات بعد مشكلة في 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"
# بعد: تشغيل نفس السيناريو عبر Apidog CLI
apidog run --test-scenario "Smoke Suite" -e staging
انتبه إلى ثلاث نقاط أثناء التحويل:
-
البيئات:
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 عادةً تتكون من:
- طلبات مرتبة.
- متغيرات بيئة.
- Assertions.
- منطق تحقق بعد كل طلب.
في Apidog، أعد تمثيل ذلك كسيناريو اختبار:
- أنشئ Test Scenario جديدًا.
- أضف الطلبات بالترتيب نفسه.
- اربط السيناريو بالبيئة المناسبة.
- أضف assertions لكل خطوة.
- شغّله محليًا قبل نقله إلى CI.
بعد ذلك يمكنك تشغيله من الطرفية:
apidog run --test-scenario "Smoke Suite" -e staging
إذا كان لديك أكثر من بيئة، استخدم نفس السيناريو مع بيئة مختلفة:
apidog run --test-scenario "Smoke Suite" -e dev
apidog run --test-scenario "Smoke Suite" -e staging
apidog run --test-scenario "Smoke Suite" -e production
الخطوة 5: ضبط التقارير
كان inso يدعم مخرجات CLI وتقارير JUnit. في Apidog CLI يمكنك إخراج النتائج بصيغ CLI وHTML وJSON:
# تشغيل سيناريو مع تقرير CLI وHTML
apidog run --test-scenario "Smoke Suite" \
-e staging \
-r cli,html
استخدم الصيغة المناسبة حسب المستهلك:
-
cli: لعرض سريع داخل سجل CI. -
html: لتقرير قابل للمراجعة البشرية. -
json: للمعالجة اللاحقة بواسطة أدوات أخرى.
مثال لتوليد مخرجات مناسبة لـ CI:
apidog run --test-scenario "Smoke Suite" \
-e ci \
-r cli,json
وإذا أردت رفع التقرير إلى تقارير Apidog السحابية:
apidog run --test-scenario "Smoke Suite" \
-e ci \
-r cli,json \
--upload-report
راجع دليل تقارير الاختبار للتفاصيل.
الخطوة 6: نقل الاختبارات القائمة على البيانات
إذا كانت اختباراتك تعتمد على بيانات متعددة مثل مستخدمين أو مدخلات تسجيل دخول أو حالات دفع مختلفة، استخدم -d مع CSV أو JSON:
apidog run --test-scenario "Login Matrix" \
-e staging \
-d ./users.csv \
-r cli,json
مثال CSV:
email,password,expectedStatus
user1@example.com,secret123,200
locked@example.com,secret123,403
wrong@example.com,badpass,401
الفكرة هي أن السيناريو يعمل مرة لكل صف، مع ربط القيم بمتغيرات السيناريو. راجع دليل الاختبار القائم على البيانات لتنسيقات البيانات وربط المتغيرات.
الخطوة 7: تحديث CI/CD
إذا كان لديك أمر قديم في GitHub Actions أو GitLab CI مثل:
# قبل: inso في CI
inso run test "Smoke Suite" --env "CI" --reporter junit
استبدله بـ:
# بعد: Apidog CLI في CI
apidog run --test-scenario "Smoke Suite" \
-e ci \
-r cli,json \
--upload-report
استخدم رمز وصول محفوظًا كـ 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 }}
لأمثلة جاهزة، راجع دليل 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
بهذا تحافظ على فحص المواصفات كما هو، وتستخدم 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)