DEV Community

Cover image for أفضل بدائل Hoppscotch CLI لاختبار API
Yusuf Khalidd
Yusuf Khalidd

Posted on • Originally published at apidog.com

أفضل بدائل Hoppscotch CLI لاختبار API

واجهة سطر الأوامر (CLI) من Hoppscotch هي طريقة مجانية ومفتوحة المصدر لتشغيل مجموعات واجهات برمجة التطبيقات (API collections) من الطرفية. إذا كنت تستخدم Hoppscotch على الويب أو سطح المكتب، فإن hopp test يسمح لك بنقل نفس الطلبات إلى خط أنابيب CI بدون تكلفة.

جرّب Apidog اليوم

لكن Hoppscotch CLI أداة مركزة جدًا: تشغّل المجموعات وتعرض النتائج. لا تصمّم واجهات API، ولا تحاكيها، ولا توثّقها، ولا تديرها كتعليمات برمجية. لذلك تصل فرق كثيرة إلى نقطة تحتاج فيها إلى أداة أوسع من مجرد تنفيذ ملف JSON، أو تواجه احتكاكًا مثل متطلب Node.js v22، فتبدأ بالبحث عن بدائل.

ما الذي يفعله Hoppscotch CLI فعليًا؟

يتم توزيع Hoppscotch CLI كحزمة npm باسم @hoppscotch/cli.

ثبّته عالميًا:

npm i -g @hoppscotch/cli
Enter fullscreen mode Exit fullscreen mode

انتبه إلى المتطلب الأساسي: تحتاج الإصدارات الحديثة إلى Node.js v22 أو أحدث. إذا كان خط CI لديك يستخدم Node 20، فستحتاج إلى البقاء على CLI v0.26.0 أو تعديل صورة البناء.

الأمر الأساسي هو:

hopp test ./collection.json -e ./environment.json -d 500
Enter fullscreen mode Exit fullscreen mode

هذا الأمر يشغّل كل الطلبات داخل المجموعة بالترتيب، مع ملف البيئة، وتأخير قدره 500ms بين الطلبات.

للمثيلات السحابية أو المستضافة ذاتيًا، استخدم معرف المجموعة والبيئة مع بيانات الاعتماد:

hopp test <collection-id> -e <environment-id> --token <access_token> --server <server-url>
Enter fullscreen mode Exit fullscreen mode

يدعم hopp test أيضًا:

  • تنفيذ pre-request scripts
  • تنفيذ اختبارات pw.test()
  • استخدام تأكيدات pw.expect()
  • الخروج برمز غير صفري عند فشل أي اختبار
  • تقارير JUnit XML:
hopp test ./collection.json --reporter-junit ./report.xml
Enter fullscreen mode Exit fullscreen mode
  • التشغيل المعتمد على البيانات:
hopp test ./collection.json \
  -e ./environment.json \
  --iteration-count 10 \
  --iteration-data ./data.csv
Enter fullscreen mode Exit fullscreen mode

هذا يجعله مشغّل مجموعات جيدًا ومجانيًا، لكنه لا يتجاوز هذا النطاق.

لماذا تبحث الفرق عن بديل لـ hopp test؟

الأسباب غالبًا عملية:

  • هو مشغّل مجموعات فقط. التصميم، المحاكاة، والتوثيق تحتاج أدوات أخرى.
  • تحتاج إلى تصدير JSON أولًا. تعتمد على ملفات مجموعة/بيئة مصدّرة أو معرفات سحابية.
  • متطلب Node.js v22. قد لا يتوافق مع صور CI المستخدمة حاليًا.
  • لا يدعم سير عمل “المواصفات كتعليمات برمجية”. لا يمكنك إدارة نقاط النهاية، المخططات، الفروع، أو طلبات الدمج من CLI نفسه.

إذا كان كل ما تحتاجه هو تشغيل مجموعة Hoppscotch، فالأداة مناسبة. أما إذا كنت تريد سير عمل API أوسع، فهذه البدائل تستحق التجربة.

1. Apidog CLI: أفضل بديل شامل

Apidog منصة API تغطي التصميم، التصحيح، المحاكاة، التوثيق، والاختبار. يضيف Apidog CLI إمكانية تشغيل الاختبارات وإدارة موارد API من الطرفية وداخل CI/CD.

شغّل سيناريوهات الاختبار باستخدام:

apidog run
Enter fullscreen mode Exit fullscreen mode

يدعم Apidog CLI:

  • البيئات عبر -e
  • الاختبار المعتمد على البيانات عبر -d
  • ملفات بيانات CSV أو JSON
  • تقارير CLI و HTML و JSON
  • رفع تقارير الاختبار السحابية عبر --upload-report
  • استيراد OpenAPI
  • إدارة موارد API مثل نقاط النهاية، المخططات، البيئات، الفروع، وطلبات الدمج من CLI

مثال عام لتشغيل اختبار ببيئة وبيانات:

apidog run <scenario-or-collection-id> \
  -e <environment-id> \
  -d ./data.csv \
  --reporter-html ./report.html
Enter fullscreen mode Exit fullscreen mode

نقطة مهمة: Apidog يتحقق من صحة المواصفات عند الاستيراد، لكنه لا يوفر محلل OpenAPI مستقلًا مثل Spectral، ولا أوامر مثل split أو join أو bundle. إذا كان هدفك الأساسي هو linting للمواصفات داخل CI، فراجع inso أدناه.

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

المزايا:

  • منصة واحدة للتصميم، المحاكاة، التوثيق، والاختبار
  • تشغيل اختبارات معتمدة على CSV/JSON
  • تقارير CLI و HTML و JSON وتقارير سحابية
  • إدارة موارد API كتعليمات برمجية
  • استيراد OpenAPI مباشرة

العيوب:

  • لا يحتوي على أمر lint مستقل للمواصفات
  • قد يكون أكبر من حاجتك إذا كنت تريد فقط تشغيل مجموعة واحدة

روابط مفيدة:

2. Newman: مشغّل Postman

Newman هو مشغّل مجموعات سطر الأوامر الرسمي لـ Postman. إذا كان فريقك يستخدم Postman بالفعل، فهذا غالبًا أسهل خيار.

ثبّته:

npm install -g newman
Enter fullscreen mode Exit fullscreen mode

شغّل مجموعة مع بيئة:

newman run collection.json -e env.json -r cli,json
Enter fullscreen mode Exit fullscreen mode

لتوليد تقرير JUnit في CI:

newman run collection.json \
  -e env.json \
  -r cli,junit \
  --reporter-junit-export ./newman-report.xml
Enter fullscreen mode Exit fullscreen mode

يدعم Newman ملفات البيانات للتكرار:

newman run collection.json \
  -e env.json \
  -d data.csv
Enter fullscreen mode Exit fullscreen mode

المزايا:

  • ناضج وموثق جيدًا
  • مناسب جدًا إذا كنت تستخدم Postman
  • يدعم CLI و JSON و JUnit و HTML عبر إضافات
  • مناسب لخطوط CI بسبب رموز الخروج المستقرة

العيوب:

  • مشغّل فقط، وليس طبقة تصميم أو توثيق
  • يعتمد على تنسيق Postman Collection
  • تحتاج غالبًا إلى تصدير JSON

للمقارنة مع Apidog: Apidog CLI مقابل Newman

3. inso: واجهة سطر الأوامر لـ Insomnia من Kong

inso هو CLI الخاص بـ Insomnia. ميزته الأساسية مقارنة بـ Hoppscotch CLI أنه يدعم تحليل مواصفات OpenAPI عبر Spectral.

أمثلة استخدام:

inso run test "My Test Suite" --env "Staging"
Enter fullscreen mode Exit fullscreen mode

تحليل مواصفة OpenAPI:

inso lint spec "My API Design"
Enter fullscreen mode Exit fullscreen mode

تصدير مواصفة:

inso export spec "My API Design" --output output.yaml
Enter fullscreen mode Exit fullscreen mode

يمكنك تثبيته عبر Homebrew:

brew install inso
Enter fullscreen mode Exit fullscreen mode

أو تشغيله عبر Docker:

docker pull kong/inso:latest
Enter fullscreen mode Exit fullscreen mode

يقرأ inso من مجلد .insomnia الناتج عن Git Sync أو من دليل بيانات التطبيق.

المزايا:

  • تحليل OpenAPI حقيقي عبر Spectral
  • تشغيل اختبارات وتصدير مواصفات من الطرفية
  • تثبيت عبر Brew أو Docker

العيوب:

  • يشير إلى الموارد بالاسم، وهذا قد يكون هشًا داخل السكربتات
  • تغييرات Insomnia 8 حول الحساب السحابي وتسجيل الدخول سببت اعتراضات ومشكلات ترحيل لدى بعض المستخدمين

روابط متابعة:

4. Step CI: اختبارات API بصيغة YAML

Step CI أداة مفتوحة المصدر لاختبار API باستخدام YAML تصريحي. بدل كتابة JavaScript، تصف الطلب والاستجابة المتوقعة.

شغّل workflow:

npx stepci run workflow.yml
Enter fullscreen mode Exit fullscreen mode

مثال مبسط:

version: "1.1"

name: API health check

tests:
  example:
    steps:
      - name: Check health endpoint
        http:
          url: https://api.example.com/health
          method: GET
          check:
            status: 200
Enter fullscreen mode Exit fullscreen mode

يدعم Step CI بروتوكولات متعددة مثل REST و GraphQL و gRPC.

المزايا:

  • YAML واضح وسهل المراجعة في Git
  • يدعم REST و GraphQL و gRPC
  • لا يحتاج إلى واجهة رسومية
  • مناسب للفرق التي تريد الاختبارات داخل المستودع بالكامل

العيوب:

  • مجتمع ونظام بيئي أصغر
  • لا يوفر تصميمًا أو محاكاة أو توثيقًا
  • تحتاج إلى كتابة الاختبارات يدويًا

استخدمه إذا كنت تريد اختبارات API قابلة للقراءة ومخزّنة بالكامل في Git.

5. Hurl: اختبار HTTP بالنص العادي

Hurl يشغّل طلبات HTTP مكتوبة بصيغة نصية بسيطة، ويؤكد على الاستجابات. يعتمد على libcurl، وسريع، ومناسب جدًا لاختبارات smoke tests و health checks.

مثال ملف health.hurl:

GET https://api.example.com/health
HTTP 200
[Asserts]
jsonpath "$.status" == "up"
Enter fullscreen mode Exit fullscreen mode

شغّله:

hurl --test health.hurl
Enter fullscreen mode Exit fullscreen mode

مثال لاختبار endpoint يعيد JSON:

GET https://api.example.com/users/1
HTTP 200
[Asserts]
jsonpath "$.id" == 1
jsonpath "$.email" exists
Enter fullscreen mode Exit fullscreen mode

المزايا:

  • خفيف جدًا
  • لا يعتمد على ملفات JSON للمجموعات
  • ملفات نصية سهلة المراجعة في Pull Requests
  • ممتاز لفحوصات الصحة والعقود البسيطة

العيوب:

  • أقرب إلى أداة منخفضة المستوى من إطار اختبار كامل
  • لا يحتوي على تصميم أو محاكاة أو توثيق
  • أقل ملاءمة للسيناريوهات الطويلة والمعتمدة على بيانات كثيرة

جدول المقارنة

الأداة الترخيص التركيز الأساسي يعتمد على البيانات تحليل المواصفات التصميم/المحاكاة/التوثيق تنسيقات التقارير
Apidog CLI تجاري (طبقة مجانية) منصة كاملة + اختبار CLI نعم (CSV/JSON) لا (يتحقق عند الاستيراد) نعم CLI، HTML، JSON، سحابي
Hoppscotch CLI مفتوح المصدر مشغل المجموعات نعم (تكرارات CSV) لا لا CLI، JUnit
Newman مفتوح المصدر مشغل Postman نعم (ملفات بيانات) لا لا CLI، JSON، JUnit، HTML
inso مفتوح المصدر مشغل Insomnia + محلل محدود نعم (Spectral) جزئي (وثائق التصميم) CLI، JUnit
Step CI مفتوح المصدر اختبارات API في YAML نعم لا لا CLI، JUnit
Hurl مفتوح المصدر اختبارات HTTP بالنص العادي عبر القوالب لا لا CLI، JUnit، HTML

كيف تختار؟

استخدم هذا الاختيار السريع:

  • تريد أداة واحدة من التصميم إلى الاختبار: استخدم Apidog CLI.
  • فريقك يستخدم Postman بالفعل: استخدم Newman.
  • تحتاج إلى OpenAPI linting في CI: استخدم inso.
  • تريد اختبارات تصريحية داخل Git: استخدم Step CI.
  • تريد smoke tests بسيطة وسريعة: استخدم Hurl.
  • تريد فقط تجنب Node.js v22: Newman أو Step CI أو Hurl أو inso خيارات عملية حسب بيئتك.

إذا كان سبب الانتقال هو أن Hoppscotch CLI مجرد مشغّل مجموعات، فابدأ بتقييم المسار المتكامل. راجع:

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

هل Hoppscotch CLI مجاني؟

نعم. @hoppscotch/cli مفتوح المصدر ومجاني. يشغّل المجموعات، ينفّذ سكربتات الاختبار، ويدعم تقارير JUnit.

ما أبسط بديل إذا كنت لا أريد Node.js v22؟

Hurl خيار بسيط لأنه ثنائي واحد ولا يعتمد على Node. inso يمكن تثبيته عبر Homebrew أو Docker. Step CI يعمل عبر npx لكنه غير مرتبط بمتطلب Node.js v22 مثل Hoppscotch CLI الحالي.

هل يمكنني نقل مجموعات Hoppscotch إلى أداة أخرى؟

نعم. تعتمد الطريقة على الأداة. بعض الأدوات تقبل مجموعات مصدّرة أو OpenAPI. للمسار المتكامل، راجع ترحيل Hoppscotch CLI إلى Apidog CLI.

هل يحلل Apidog CLI مواصفات OpenAPI مثل inso؟

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

ما أفضل بديل لخط CI؟

كل الأدوات هنا مناسبة لـ CI لأنها تعيد رمز خروج غير صفري عند الفشل. الاختيار يعتمد على الحاجة:

  • تشغيل مجموعات فقط: Newman أو Hoppscotch CLI
  • اختبارات smoke خفيفة: Hurl
  • اختبارات YAML داخل Git: Step CI
  • OpenAPI linting: inso
  • تصميم + توثيق + اختبار في سير عمل واحد: Apidog CLI

الخلاصة

Hoppscotch CLI ينجز مهمته الأساسية جيدًا: تشغيل مجموعات API من الطرفية. إذا كان هذا كل ما تحتاجه، استمر في استخدامه.

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

Top comments (0)