إذا بدأ فريقك باستخدام Keploy، فمن المحتمل أنك تحب شيئًا واحدًا فيه: لقد قمت بتشغيل تطبيقك، وضربت بعض نقاط النهاية، وظهرت الاختبارات. لا داعي لكتابة التأكيدات، ولا لتهيئة التبعيات يدويًا. يلتقط Keploy حركة المرور الحقيقية على طبقة الشبكة ويعيد تشغيلها لك.
فلماذا قد يرغب أي شخص في الابتعاد عن Keploy؟ عادةً ما يعود الأمر إلى حاجة مختلفة. تُعد الاختبارات الملتقطة رائعة لاكتشاف التراجعات في ما حدث بالفعل، لكنها أصعب في القراءة والمراجعة والامتلاك عبر فريق. في مرحلة ما، سترغب في اختبارات يمكن لمهندس جديد فتحها في طلب سحب، وفهمها بنظرة سريعة، وتغييرها عن قصد. أنت تريد بيانات اختبار تتحكم فيها، وبيئات تبدلها بعلامة، وخوادم وهمية تصممها بدلاً من تلك المستمدة من تسجيل.
نموذجان مختلفان، مقارنة صريحة
تتداخل Keploy و Apidog في مصطلح "اختبار واجهة برمجة التطبيقات (API testing)"، لكنهما فئتان مختلفتان من الأدوات. التظاهر بخلاف ذلك سيكون بمثابة إضرار بك.
Keploy عبارة عن منصة مفتوحة المصدر لإنشاء بيئات اختبار معزولة (sandboxes). ميزتها الأساسية هي التسجيل وإعادة التشغيل: باستخدام eBPF على طبقة الشبكة، تلتقط مكالمات API الحقيقية وتبعياتها (استعلامات قواعد البيانات، الخدمات النهائية، أحداث البث) دون الحاجة إلى SDK أو تغييرات في الكود. من حركة المرور الملتقطة، تقوم بتوليد حالات اختبار ووحدات محاكاة (mocks) تلقائيًا لتلك التبعيات. كما أن لديها مسارًا لتوليد الاختبارات بواسطة الذكاء الاصطناعي يقوم ببناء مجموعات اختبار من مواصفات OpenAPI، أو مجموعة Postman، أو أمر cURL، أو نقطة نهاية حية. نظرًا لأن الالتقاط يحدث على طبقة eBPF، فهو مستقل عن اللغة ويعتمد على Linux والصلاحيات المرتفعة. يمكنك قراءة الكود المصدري على GitHub.
Apidog هي منصة API متكاملة: تصميم، تصحيح الأخطاء، محاكاة، توثيق، واختبار في مكان واحد. يقوم Apidog CLI (apidog run) بتنفيذ سيناريوهات الاختبار والمجموعات التي قمت بإنشائها، من طرفيتك وفي CI/CD. يدعم الاختبار الموجه بالبيانات، وتبديل البيئات، وتنسيقات تقارير متعددة، وتقارير سحابية. لدى Apidog أيضًا ميزة توليد حالات الاختبار بالذكاء الاصطناعي، لكنها تعمل من مخطط API ونقاط النهاية داخل التطبيق، وليس عن طريق تسجيل حركة المرور في بيئة الإنتاج.
إليك الحقيقة التي تحتاجها قبل أن تخطط لأي شيء: لا يلتقط Apidog حركة المرور الحية عبر eBPF، ولا يقوم بتوليد الاختبارات تلقائيًا عن طريق تسجيل مكالمات الإنتاج بالإضافة إلى محاكاة التبعيات. هذه هي قوة Keploy المميزة. إذا كان التقاط وقت التشغيل هو جوهر سير عملك، فاحتفظ بـ Keploy لهذه المهمة. ما تكسبه بالانتقال إلى Apidog هو اختبارات مصممة وقابلة للمراجعة ومشتركة بين الفرق ومنصة تغطي دورة حياة API بأكملها.
| نهج Keploy | نهج Apidog |
|---|---|
keploy record يلتقط حركة المرور الحقيقية عبر eBPF |
استيراد سطح واجهة برمجة التطبيقات الخاصة بك كـ OpenAPI، Postman، أو cURL |
| اختبارات تُولَّد تلقائيًا من المكالمات الملتقطة | توليد حالات اختبار بالذكاء الاصطناعي من المواصفات، بالإضافة إلى السيناريوهات التي تنشئها |
keploy test --delay 10 يعيد تشغيل التسجيلات |
apidog run ينفذ السيناريوهات المؤلفة في CI |
| محاكاة التبعيات الملتقطة من حركة مرور قاعدة البيانات/الشبكة الحقيقية | خوادم وهمية تصممها وتتحكم فيها |
| بيانات الاختبار مدمجة في التسجيل | الاختبار الموجه بالبيانات عبر -d (CSV/JSON) الذي تحتفظ به |
| بيئة ضمنية من التشغيل المسجل | بيئات صريحة يتم تبديلها بـ -e |
| Linux/eBPF، صلاحيات مرتفعة | يعمل في أي مكان يعمل فيه CLI، بما في ذلك أدوات تشغيل CI القياسية |
اقرأ هذا الجدول كدليل ترجمة، وليس كبطاقة أداء للميزات. تتوافق كل قدرة من Keploy مع خطوة تأليف متعمدة في Apidog. أنت تستبدل "الأداة اكتشفت ذلك من حركة المرور" بـ "أنت وصفت الشكل الصحيح".
الخطوة 1: التقاط سطح API الخاص بك كمواصفات
يبدأ Keploy من تطبيق قيد التشغيل. يبدأ Apidog من وصف لـ API الخاص بك. لذا فإن المهمة الأولى هي الحصول على هذا الوصف.
إذا كنت تنشر بالفعل وثيقة OpenAPI، فقد انتهيت. أشر إليها وانتقل. إذا لم تكن كذلك، فلديك بعض الخيارات، وجميعها تنتج شيئًا قابلاً للاستيراد:
- قم بتوليد OpenAPI من إطار عملك (معظم أطر العمل الحديثة لديها أداة تصدير أو مكتبة تصدره).
- قم بتصدير مجموعة Postman إذا كان فريقك يحتفظ بواحدة بالفعل.
- اجمع أوامر cURL التي تستخدمها للوصول إلى كل نقطة نهاية.
تأثير جانبي جميل: إذا كان لديك تسجيلات Keploy، فإن الطلبات الملتقطة تمثل جردًا واقعيًا لنقاط النهاية التي يتم استدعاؤها بالفعل ومع أي حمولات. استخدمها كقائمة تحقق لضمان أن مواصفاتك تغطي نفس المساحة، حتى لو لم تستورد التسجيلات نفسها.
الخطوة 2: الاستيراد إلى Apidog
قم بتنزيل Apidog، أنشئ مشروعًا، واستورد ملف OpenAPI الخاص بك، أو مجموعة Postman، أو أوامر cURL. يقرأ Apidog المواصفات ويقوم بتعبئة نقاط النهاية، ومخططات الطلبات، والمعاملات (parameters)، ونماذج الاستجابة. لديك الآن تعريف منظم لكل نقطة نهاية، وهو نفس السطح الذي كان Keploy يتعامل معه، ولكن في شكل يمكنك تحريره، وتحديده بالإصدار، ومشاركته.

هذه هي اللحظة التي تظهر فيها الفروقات بين المنصات أيضًا. نقاط النهاية المستوردة ليست مجرد تجهيزات اختبار. إنها وثائق حية، وطلبات قابلة للتصحيح، وأساس للخوادم الوهمية، وكل ذلك من استيراد واحد. للحصول على شرح مفصل لسلسلة الأدوات خطوة بخطوة، يغطي الدليل الكامل لـ Apidog CLI الإعداد بالكامل.
الخطوة 3: إنشاء مجموعة اختبار أولية، ثم تأليف السيناريوهات الحقيقية
هنا يمكنك استعادة بعض السرعة التي أعجبتك في Keploy. يقوم توليد حالات الاختبار بالذكاء الاصطناعي في Apidog بقراءة المخطط ونقاط النهاية المستوردة وصياغة حالات الاختبار لك: طلبات صالحة، قيم حدودية، واستجابات فشل شائعة بناءً على المواصفات. إنها نقطة بداية قوية، وتخلصك من الصفحة الفارغة بسرعة. إذا كنت ترغب في رؤية كيفية مقارنة ذلك عبر الأدوات، فإن ملخص أفضل مولدات حالات الاختبار بالذكاء الاصطناعي يضعها في سياقها.

ملاحظتان صريحتان. أولاً، الحالات التي يصوغها الذكاء الاصطناعي (في Apidog أو Keploy) تحتاج إلى مراجعة بشرية. تعامل مع المخرجات كمسودة، قم بتقليم ما لا ينطبق، وشدد التأكيدات. ثانيًا، هذا التوليد يأتي من المواصفات، وليس من سلوك وقت التشغيل، لذلك لن يعرف عن خلل يظهر فقط تحت بيانات الإنتاج الحقيقية. هذه هي الفجوة التي ملأها التقاط Keploy بالضبط، وهي الفجوة التي تقبلها عندما تنتقل إلى الاختبارات المصممة.
ثم تقوم بتأليف السيناريوهات المهمة. يربط السيناريو الطلبات في تدفق حقيقي: إنشاء مستخدم، تسجيل الدخول بالرمز المميز المعروض، جلب الملف الشخصي، تحديثه، حذفه. تقوم بالتأكيد على رموز الحالة، وحقول الاستجابة، وكيف تنتقل البيانات من خطوة إلى أخرى. هذا هو العمل الذي قام به Keploy ضمنيًا داخل التسجيل. القيام بذلك صراحة يتطلب جهدًا أكبر في البداية، ولكنه يؤتي ثماره في كل مرة يقرأ فيها شخص ما الاختبار أو يراجعه أو يغيره لاحقًا. يساعدك الدليل حول كيفية كتابة حالات الاختبار بمساعدة الذكاء الاصطناعي على الموازنة بين التوليد والتأليف اليدوي.
الخطوة 4: تعيين البيئات والمدخلات الموجهة بالبيانات
يحمل التسجيل مجموعة واحدة من القيم من تشغيل واحد. يجب أن تعمل الاختبارات المؤلفة مقابل أي بيئة بأي مجموعة بيانات.
حدد البيئات في Apidog (المحلية، بيئة الاختبار المرحلي، الإنتاج) مع عناوين URL الأساسية والرموز المميزة والمتغيرات الخاصة بها. عند وقت التشغيل، تختار واحدة باستخدام -e. بالنسبة لبيانات الاختبار، أرفق ملف CSV أو JSON، ويقوم Apidog بتشغيل كل سيناريو مرة واحدة لكل صف، لذلك يغطي سيناريو تسجيل دخول واحد اثني عشر مجموعة من بيانات الاعتماد. تشير إلى الملف باستخدام -d. يوضح دليل الاختبار الموجه بالبيانات تنسيقات الملفات وربط المتغيرات بالتفصيل.
apidog run \
--access-token "$APIDOG_ACCESS_TOKEN" \
-i 123456 \
-e "staging" \
-d ./test-data/login-cases.csv
هذا تحديث ملموس على التسجيل الثابت. بيانات الاختبار الخاصة بك هي ملف تمتلكه، وتراجعه في طلبات السحب، وتوسعه مع ظهور حالات حافة جديدة.
الخطوة 5: التشغيل في CI باستخدام apidog run
الأمر الذي يحل محل keploy test في خط أنابيبك هو apidog run. يقوم بتنفيذ السيناريوهات التي قمت بتأليفها، وتطبيق البيئة وملف البيانات المختارين، ويصدر التقارير. يمكنك إنتاج مخرجات CLI و HTML و JSON، ودفع النتائج إلى السحابة باستخدام --upload-report للحصول على رابط قابل للمشاركة.
apidog run \
--access-token "$APIDOG_ACCESS_TOKEN" \
-i 123456 \
-e "staging" \
-r html,cli \
--upload-report
ربط هذا بخط أنابيبك له نفس شكل أي خطوة اختبار CI: تثبيت CLI، تمرير الرمز المميز ومعرف السيناريو الخاص بك، وفشل البناء عند الخروج بقيمة غير صفرية. يغطي دليل خط أنابيب CI/CD و الشرح المفصل لـ GitHub Actions ملف YAML الدقيق، ويوضح دليل تقارير الاختبار كيفية قراءة المخرجات التي سيطلع عليها فريقك بالفعل.
الخطوة 6: بناء خوادم وهمية تتحكم فيها
توفر Keploy لك المحاكاة مجانًا عن طريق التقاط حركة مرور التبعيات أثناء التسجيل. يتخذ Apidog مسارًا آخر: أنت تصمم المحاكاة. نظرًا لأنك قمت بالفعل باستيراد المخطط الخاص بك، يمكن لـ Apidog إنشاء خادم وهمي منه، مع إرجاع استجابات أمثلة واقعية بناءً على أنواع الحقول والقواعد التي تحددها. أنت تحدد زمن الاستجابة، وحالات الخطأ، والحمولات الدقيقة.

المقايضة هي نفسها كما هو الحال في أي مكان آخر في هذا الدليل. تعكس المحاكاة الملتقطة ما فعلته تبعياتك بالفعل؛ بينما تعكس المحاكاة المصممة ما قررت أن تفعله. لاختبار العقود والتكامل المستمر المستقر، تميل المحاكاة المصممة إلى الفوز لأنها لا تتغير مع بيئة الإنتاج. إذا كنت تريد خلفية أعمق، فراجع أدوات اختبار العقود والمحاكاة و توليد بيانات وهمية من مخططات OpenAPI.
ما تحتفظ به وما تتخلى عنه
كن صريحًا مع فريقك بشأن جانبي هذه الخطوة.
تتخلى عن الالتقاط التلقائي. لا يوجد keploy record لمراقبة حركة المرور الحقيقية، ولا محاكاة للتبعيات مشتقة من تشغيلات الإنتاج، ولا سحر eBPF الذي لا يتطلب أي كود. إذا كانت هذه القدرة ضرورية لك، فاحتفظ بـ Keploy في صندوق أدواتك لها. يمكن للأداتين التعايش.
تكسب اختبارات تُقرأ كتوثيق، وبيئات تبدلها بعلامة، وبيانات اختبار تمتلكها وتراجعها، وخوادم وهمية تصممها، ومنصة واحدة للتصميم، وتصحيح الأخطاء، والتوثيق، والاختبار. التكلفة حقيقية (التأليف يتطلب جهدًا أكبر من التسجيل)، والعائد هو قابلية الصيانة التي يمكن لفريقك بأكمله العمل عليها. يضع المسح الأوسع لـ أدوات أتمتة اختبار API هذه المقايضات في سياقها، و كيفية اختبار API باستخدام Apidog قراءة عملية جيدة تالية.
إذا كنت توازن بين الأداتين جنبًا إلى جنب، فإن مقارنة Apidog مقابل Keploy تشرحها ميزة بميزة، وإذا لم تكن Keploy مناسبة لفريقك على وجه التحديد، فإن ملخص أفضل بدائل Keploy يستحق الاهتمام.
أسئلة متكررة
هل يمكن لـ Apidog استيراد تسجيلات Keploy الموجودة لدي؟ ليس بشكل مباشر. تسجيلات Keploy هي لقطات وقت التشغيل، ويعمل Apidog من مواصفات API. المسار العملي هو التقاط سطح API الخاص بك كـ OpenAPI (أو Postman/cURL) واستيراد ذلك. استخدم تسجيلات Keploy الخاصة بك كقائمة تحقق لنقاط النهاية التي يجب تغطيتها.
هل يسجل Apidog حركة المرور الحية ويقوم بمحاكاة قاعدة البيانات الخاصة بي تلقائيًا مثل Keploy؟ لا. لا يلتقط Apidog حركة المرور عبر eBPF ولا يقوم بتوليد محاكاة التبعيات تلقائيًا من التشغيلات الحقيقية. هذه هي قوة Keploy المميزة. يقوم Apidog بتوليد الاختبارات والمحاكاة من المخطط الخاص بك، وتقوم أنت بتأليف السيناريوهات بناءً على ذلك.
ما الذي يحل محل keploy record و keploy test؟ لا يوجد مكافئ لـ record. بدلاً من ذلك، تقوم باستيراد مواصفات، وتوليد مجموعة اختبار أولية باستخدام الذكاء الاصطناعي، وتأليف السيناريوهات، وتشغيلها باستخدام apidog run بدلاً من keploy test.
هل يستحق جهد التأليف الإضافي للهجرة من Keploy؟ إذا كنت تريد اختبارات قابلة للقراءة والمراجعة في طلبات السحب ومملوكة عبر فريق، فنعم. إذا كانت حاجتك الأساسية هي التقاط سلوك وقت التشغيل الحقيقي دون جهد بما في ذلك محاكاة التبعيات، فإن Keploy لا يزال يفعل ذلك بشكل أفضل، لذا احتفظ بها لتلك المهمة.
هل يمكنني تشغيل كلتا الأداتين في وقت واحد؟ نعم. تستخدم العديد من الفرق Keploy لإجراء فحوصات الانحدار القائمة على الالتقاط، و Apidog لمجموعات الاختبار الشاملة المصممة، والوثائق، والمحاكاة. إنهما يحلان مشكلات مختلفة.
من أين تبدأ
اختر خدمة واحدة. قم بتصدير مواصفات OpenAPI الخاصة بها، واستوردها إلى Apidog، ودع الذكاء الاصطناعي يصيغ بعض حالات الاختبار، ثم قم بتأليف سيناريو حقيقي واحد مع بيئة وملف بيانات صغير. قم بتشغيله باستخدام apidog run وربطه بـ CI. بمجرد أن تشعر أن هذه الحلقة تعمل بشكل جيد، توسع. ستتخلى عن راحة التسجيل مقابل اختبارات يمكن لفريقك بأكمله قراءتها وتغييرها والثقة بها. للتعمق أكثر في CLI نفسه، ابدأ بـ دليل التثبيت و الشرح المفصل لاختبار REST API عبر سطر الأوامر.
