Talend API Tester هو إضافة لمتصفح كروم تُستخدم لإرسال طلبات HTTP وفحص الاستجابات دون مغادرة المتصفح. كان يُعرف سابقًا باسم Restlet Client، ولا يزال العديد من المطورين يحتفظون به مثبتًا لإجراء فحوصات سريعة لأنه لا يوجد شيء لتنزيله بخلاف الإضافة نفسها. يتعامل مع واجهات برمجة تطبيقات REST، ويدعم طرق HTTP الشائعة، ويمكنه ربط الطلبات في سيناريوهات.
يوضح هذا الدليل كيفية استخدام Talend API Tester لأعمال الاختبار الحقيقية. ستقوم بتثبيته، وإرسال طلبك الأول، وتنظيم الطلبات في مشاريع وخدمات، وبناء سيناريو يقوم بتشغيل طلبات متعددة بالتسلسل، وإضافة تأكيدات (assertions) بحيث تقوم الأداة بفحص الاستجابات لك بدلاً من أن تقوم أنت بفحصها يدويًا. تستخدم الأمثلة واجهة برمجة تطبيقات عامة حتى تتمكن من المتابعة فورًا.
تثبيت الإضافة وإرسال طلب
يتوفر Talend API Tester في سوق Chrome الإلكتروني. ابحث عن "Talend API Tester" وانقر على إضافة إلى Chrome. يعمل أيضًا في المتصفحات المستندة إلى Chromium مثل Edge و Brave. بمجرد التثبيت، افتحه من قائمة الإضافات أو ثبّته في شريط الأدوات للوصول السريع.
تحتوي الواجهة على شريط جانبي على اليسار ولوحة طلب على اليمين. انقر في لوحة الطلب وسترى قائمة منسدلة للطرق، وحقل URL، وعلامات تبويب للرؤوس والجسم (headers and body).
لإرسال طلب أساسي، اختر GET وأدخل نقطة نهاية حقيقية. خدمة JSONPlaceholder تعمل بشكل جيد للتدريب:
GET https://jsonplaceholder.typicode.com/users/1
انقر على إرسال. تظهر الاستجابة أدناه مع رمز الحالة، وقت الاستجابة، الرؤوس، والجسم. يقوم Talend API Tester بعرض JSON و XML بشكل جميل، لذلك تكون الاستجابة المتداخلة قابلة للقراءة دون خطوات إضافية.
بالنسبة لـ POST، قم بتغيير الطريقة، وافتح قسم الجسم (Body)، واختر نوع المحتوى. اختر application/json وأدخل حمولة (payload):
{
"name": "Priya Nair",
"email": "priya.nair@example.com"
}
أضف الرؤوس تحت قسم الرؤوس (Headers). لواجهة برمجة تطبيقات مصادق عليها، أضف رأس Authorization مع رمزك المميز. تحتوي الأداة أيضًا على مساعدات مصادقة مدمجة لخطط Basic و Digest و OAuth و Bearer إذا كنت تفضل عدم تعيين الرأس يدويًا.
تنظيم الطلبات في مشاريع وخدمات
عدد قليل من الطلبات المتفرقة جيد لاختبار سريع لواجهة برمجة تطبيقات. بمجرد أن يكون لديك العديد منها، ستحتاج إلى هيكلة. يقوم Talend API Tester بتنظيم العمل في مشاريع، وداخل المشروع إلى خدمات.
أنشئ مشروعًا من الشريط الجانبي وامنحه اسمًا واضحًا مثل "واجهة برمجة تطبيقات المستخدم (User API)." بداخله، أنشئ خدمات تجمع نقاط النهاية ذات الصلة، على سبيل المثال خدمة "المستخدمون (Users)" وخدمة "الطلبات (Orders)." احفظ كل طلب في الخدمة الصحيحة. يمكن للخدمة أن تحتفظ بعنوان URL أساسي، لذلك تحتاج الطلبات الفردية تحتها فقط إلى المسار، مما يحافظ على النظام.
هذه الهيكلة مهمة لسببين. أولاً، تجعل مجموعة كبيرة من الطلبات قابلة للتصفح، بحيث لا تضطر للتمرير عبر عشرات المكالمات غير المصنفة للعثور على ما تريده. ثانيًا، هي الأساس للسيناريوهات، التي سنغطيها لاحقًا، لأن السيناريو يشير إلى الطلبات المحفوظة.
تساعد المشاريع أيضًا في تبديل البيئات. يدعم Talend API Tester متغيرات البيئة، بحيث يمكنك تعريف متغير host يحتفظ بعنوان URL الخاص بالبيئة التجريبية (staging) والإشارة إليه عبر كل طلب في المشروع باستخدام عنصر نائب (placeholder). حدد بيئة ثانية مع مضيف الإنتاج، قم بالتبديل بينهما، وسيعاد استهداف المشروع بأكمله في وقت واحد. هذا يجنبك تحرير عناوين URL يدويًا ومن إطلاق طلب تدميري عن طريق الخطأ على الخادم الخطأ.
يمكن لـ Talend API Tester أيضًا استيراد العمل الموجود. يقبل مجموعات Postman، وتعريفات Swagger و OpenAPI، وملفات HAR. إذا كان لديك بالفعل مواصفات API أو تصدير Postman، فاستورده بدلاً من إعادة إنشاء كل طلب يدويًا. للحصول على طريقة منظمة للتفكير في تجميع الفحوصات، يعد دليل مثال حالة اختبار API رفيقًا مفيدًا.
بناء سيناريو لتشغيل الطلبات بالتسلسل
الطلب الفردي يجيب على سؤال واحد. الاختبار الحقيقي عادة ما يعني تدفقًا: إنشاء سجل، قراءته مرة أخرى، تحديثه، حذفه. يتعامل Talend API Tester مع هذا باستخدام السيناريوهات.
السيناريو هو قائمة مرتبة من الطلبات المحفوظة. أنشئ واحدًا من الشريط الجانبي، ثم أضف الطلبات إليه بالترتيب الذي يجب أن تعمل به. عند تشغيل السيناريو، تقوم الأداة بتشغيل كل طلب من الأعلى إلى الأسفل وتظهر نتيجة كل خطوة.
الجزء المفيد هو تمرير البيانات بين الخطوات. يمكن للسيناريو التقاط قيمة من استجابة واحدة وتغذيتها في طلب لاحق. على سبيل المثال، يعيد طلب "إنشاء مستخدم" id جديدًا في نص استجابته. تقوم باستخراج هذا id إلى متغير، ثم يستخدم طلب "الحصول على مستخدم" لاحقًا هذا المتغير في عنوان URL الخاص به. هذه هي الطريقة التي تختبر بها التدفقات ذات الحالة بدلاً من المكالمات المعزولة.
تدعم السيناريوهات أيضًا المنطق الشرطي والتكرار. يمكنك التفريع بناءً على استجابة، بحيث لا تعمل الخطوة إلا إذا أعادت خطوة سابقة حالة معينة، ويمكنك تكرار خطوة للوصول إلى نقطة نهاية بشكل متكرر. بالاقتران مع استخراج المتغيرات، يتيح لك هذا السيناريو الوحيد نمذجة تسلسل واقعي: المصادقة، إنشاء سجل، تأكيد قراءته بشكل صحيح، تعديله، ثم تنظيفه بحذفه. تشغيل هذا السيناريو من البداية إلى النهاية هو إشارة أفضل بكثير من إطلاق كل طلب بشكل منفصل. تشرح المقالة حول سيناريو الاختبار مقابل حالة الاختبار التمييز بين فحص واحد وتدفق متعدد الخطوات، والذي يتطابق هنا مباشرة مع الطلبات مقابل السيناريوهات.
إضافة تأكيدات (Assertions) لتتحقق الأداة من الاستجابات
تشغيل سيناريو يظهر لك ما عاد. التأكيدات (Assertions) تجعل الأداة تقرر ما إذا كان ما عاد صحيحًا، بحيث لا تقرأ كل استجابة يدويًا.
يتيح لك Talend API Tester إرفاق تأكيدات بطلب. افتح طلبًا محفوظًا وابحث عن قسم التأكيدات. تقوم ببناء التأكيدات من خلال نموذج بدلاً من كتابة الكود. تشمل التأكيدات الشائعة:
- رمز الحالة (Status code) يساوي قيمة متوقعة، مثل
200أو201. - وقت الاستجابة (Response time) أقل من عتبة معينة، مثل
500مللي ثانية. - حقل الحمولة (payload field) يطابق قيمة متوقعة، باستخدام مسار في جسم JSON.
- الرأس (Header) موجود أو له قيمة محددة.
يتم تقييم كل تأكيد تضيفه عند تشغيل الطلب، إما بمفرده أو كخطوة في سيناريو. تشير لوحة النتائج إلى كل تأكيد ما إذا كان قد نجح أو فشل. قم بتشغيل السيناريو بالكامل وستحصل على نجاح أو فشل واضح عبر كل خطوة، مما يحول السيناريو إلى فحص انحدار (regression check) قابل للتكرار.
نظرًا لأن التأكيدات تعتمد على النماذج بدلاً من الكود، فإن الأداة سهلة الاستخدام للمختبرين الذين لا يكتبون JavaScript. هذه قوة حقيقية للتحقق اليدوي السريع. الجانب الآخر هو أن مفردات التأكيد أضيق من أداة تعتمد على البرمجة النصية. إذا كنت بحاجة إلى التأكيد على شيء لا يعبر عنه النموذج، مثل قيمة محسوبة أو شرط معقد عبر حقول متعددة، فسوف تصل إلى الحد الأقصى. بالنسبة لمعظم الفحوصات اليومية، يكفي رمز الحالة بالإضافة إلى تأكيدين أو ثلاثة لحقول الجسم. للحصول على إرشادات حول ما يستحق التأكيد عليه، راجع الدليل الأعمق حول تأكيدات API.
قراءة الاستجابة بشكل صحيح
سواء أضفت تأكيدات أم لا، يجب أن تعرف كيفية قراءة الاستجابة. هناك أربعة أجزاء مهمة.
- رمز الحالة (Status code). هذه هي الإشارة الأولى.
2xxيعني النجاح،4xxيعني أن الطلب كان خاطئًا،5xxيعني أن الخادم فشل. مرجع مثل الدليل حول رموز حالة HTTP التي يجب أن تستخدمها واجهات برمجة تطبيقات REST يساعدك في تفسير الرموز الأقل وضوحًا. - وقت الاستجابة (Response time). يبلغ Talend API Tester عن المدة التي استغرقها الطلب. نقطة النهاية البطيئة تمثل مشكلة حتى عندما تعيد البيانات الصحيحة.
- الرؤوس (Headers). تحمل الرؤوس معلومات
Content-Type، وتوجيهات التخزين المؤقت، ومعلومات حدود المعدل، وتفاصيل CORS. غالبًا ما تشرح سلوكًا لا يظهره الجسم. - الجسم (Body). البيانات الفعلية، عادةً JSON أو XML. تحقق من أن الحقول والأنواع والقيم هي ما يعد به العقد.
قراءة الأربعة معًا تخبرك ما إذا كانت واجهة برمجة التطبيقات صحية، وليس فقط ما إذا كانت قد استجابت.
عندما لا تكون إضافة كروم كافية
Talend API Tester مريح وسريع للفحوصات المستندة إلى المتصفح. تظهر حدوده مع نمو العمل. فهو مرتبط بكروم، لذا لا يمكن تشغيله بدون واجهة رسومية (headless) في خط أنابيب CI. نظام التأكيد الخاص به قوي ولكنه أساسي مقارنة بمنصة اختبار كاملة. ولا يغطي تصميم واجهة برمجة التطبيقات، أو المحاكاة الوهمية (mocking)، أو التوثيق، لذا فهو أداة من بين عدة أدوات بدلاً من مساحة عمل واحدة.
Apidog هي منصة API شاملة تسد هذه الفجوات. إنه تطبيق مستقل بدلاً من إضافة متصفح، ويستورد Postman و OpenAPI وتنسيقات أخرى تمامًا مثل Talend API Tester، ويضيف أداة بناء تأكيدات مرئية، وخوادم وهمية، وسيناريوهات اختبار آلية، ووثائق تم إنشاؤها في مشروع واحد. نظرًا لأن المواصفات والاختبارات تشترك في مصدر واحد للحقيقة، فإنها لا تنحرف عن بعضها البعض. يمكنك تنزيل Apidog واستيراد طلباتك الحالية للمقارنة. لمسح أوسع للخيارات، تعد مقارنة أدوات اختبار API المجانية عبر الإنترنت نقطة بداية جيدة.
يظل Talend API Tester خيارًا ممتازًا للفحوصات السريعة داخل المتصفح. اختر الأداة التي تتناسب مع حجم ومرحلة عمل الاختبار الخاص بك.
الأسئلة المتكررة
هل Talend API Tester هو نفسه Restlet Client؟
نعم. Talend API Tester هو الإصدار المعاد تسميته للأداة التي كانت تُسمى سابقًا Restlet Client. الوظائف هي نفس السلالة: إضافة كروم لإرسال طلبات HTTP وتنظيمها وتشغيل سيناريوهات مع تأكيدات.
هل Talend API Tester مجاني؟
يتوفر إصدار مجاني في سوق Chrome الإلكتروني يغطي إرسال الطلبات وتنظيمها في مشاريع وبناء سيناريوهات مع تأكيدات. أضافت المستويات المدفوعة تاريخيًا ميزات الفريق وحدودًا أكبر. الإصدار المجاني كافٍ لمعظم أعمال الاختبار الفردية.
هل يمكن لـ Talend API Tester تشغيل الاختبارات في CI/CD؟
ليس بشكل مباشر. إنها إضافة لمتصفح كروم وتعمل داخل المتصفح، لذا لا يمكن تنفيذها بدون واجهة رسومية (headless) في خط أنابيب. للاختبارات الآلية التي تعمل عند كل عملية التزام (commit)، تحتاج إلى أداة مزودة بمشغل سطر أوامر. يغطي الدليل حول أتمتة اختبارات API في CI/CD كيفية إعداد ذلك.
ما هي التنسيقات التي يمكن لـ Talend API Tester استيرادها؟
يمكنه استيراد مجموعات Postman، وتعريفات Swagger و OpenAPI، وملفات HAR. يتيح لك ذلك جلب مواصفات API الموجودة أو الصادرات بدلاً من إعادة إنشاء كل طلب يدويًا.
كيف يختلف السيناريو عن الطلب الفردي؟
يرسل الطلب الفردي مكالمة HTTP واحدة ويظهر استجابة واحدة. السيناريو هو قائمة مرتبة من الطلبات التي تعمل بالتسلسل، ويمكنه تمرير البيانات الملتقطة من استجابة واحدة إلى طلب لاحق. تختبر السيناريوهات التدفقات متعددة الخطوات، مثل الإنشاء ثم القراءة ثم الحذف، بينما يختبر الطلب الفردي مكالمة معزولة واحدة.
