Talend API Tester هو إضافة لمتصفح Chrome لإرسال طلبات HTTP وفحص الاستجابات مباشرة من المتصفح. كان يُعرف سابقًا باسم Restlet Client، وما زال مفيدًا للفحوصات السريعة لأنه لا يتطلب تثبيت تطبيق مستقل. يدعم REST، وطرق HTTP الشائعة، وتنظيم الطلبات، وتشغيل سيناريوهات متعددة الخطوات.
في هذا الدليل ستستخدم Talend API Tester عمليًا: تثبيت الإضافة، إرسال طلب GET وPOST، تنظيم الطلبات في مشاريع وخدمات، بناء سيناريو متسلسل، وإضافة Assertions حتى تتحقق الأداة من الاستجابات بدلًا من فحصها يدويًا.
تثبيت الإضافة وإرسال أول طلب
ثبّت Talend API Tester من سوق Chrome الإلكتروني:
- ابحث عن
Talend API Tester. - اضغط Add to Chrome.
- افتح الإضافة من قائمة Extensions أو ثبّتها في شريط الأدوات.
تتكوّن الواجهة عادةً من:
- شريط جانبي لتنظيم المشاريع والطلبات.
- لوحة طلب تحتوي على:
- طريقة HTTP
- حقل URL
- Headers
- Body
- منطقة عرض الاستجابة
إرسال طلب GET
استخدم API عامة للتجربة مثل JSONPlaceholder:
GET https://jsonplaceholder.typicode.com/users/1
الخطوات:
- اختر
GET. - أدخل الرابط.
- اضغط Send.
ستظهر الاستجابة مع:
- Status code
- Response time
- Headers
- Body
يعرض Talend API Tester استجابات JSON وXML بتنسيق مقروء، لذلك يمكنك فحص الحقول مباشرة.
إرسال طلب POST
غيّر الطريقة إلى POST، ثم افتح تبويب Body واختر application/json.
مثال payload:
{
"name": "Priya Nair",
"email": "priya.nair@example.com"
}
إذا كانت الواجهة تحتاج مصادقة، أضف Header مثل:
Authorization: Bearer YOUR_TOKEN
أو استخدم مساعدات المصادقة المدمجة في الأداة مثل Basic وDigest وOAuth وBearer بدلًا من كتابة الترويسة يدويًا.
تنظيم الطلبات في مشاريع وخدمات
عندما تزداد الطلبات، لا تتركها كقائمة عشوائية. استخدم بنية Talend API Tester:
- Project: يمثل API أو منتجًا كاملًا.
- Service: يجمع endpoints مرتبطة داخل المشروع.
- Request: طلب HTTP محدد محفوظ داخل خدمة.
مثال تنظيم عملي:
User API
├── Users
│ ├── GET /users/1
│ ├── POST /users
│ └── DELETE /users/{id}
└── Orders
├── GET /orders
└── POST /orders
أنشئ مشروعًا باسم واضح مثل User API، ثم أضف خدمات مثل Users وOrders. احفظ كل طلب في الخدمة المناسبة.
إذا كانت الخدمة تدعم Base URL، استخدمه لتقليل التكرار. بدلًا من كتابة الرابط الكامل في كل طلب:
https://api.example.com/users/1
استخدم Base URL:
https://api.example.com
ثم اجعل الطلب:
/users/1
استخدام البيئات والمتغيرات
يدعم Talend API Tester متغيرات البيئة. عرّف متغيرًا مثل:
host = https://staging.example.com
ثم استخدمه في الطلبات:
{{host}}/users/1
أنشئ بيئة أخرى للإنتاج:
host = https://api.example.com
بهذا يمكنك التبديل بين staging وproduction بدون تعديل كل URL يدويًا.
هذه الخطوة تقلل أخطاء الاختبار على البيئة الخطأ، خصوصًا مع طلبات
POSTوDELETE.
يمكنك أيضًا استيراد العمل الموجود بدلًا من إعادة بناء الطلبات يدويًا. يدعم Talend API Tester استيراد:
- Postman collections
- Swagger definitions
- OpenAPI definitions
- HAR files
للتفكير بشكل أفضل في تنظيم الفحوصات، راجع دليل مثال حالة اختبار API.
بناء سيناريو لتشغيل الطلبات بالتسلسل
الطلب الفردي يختبر نقطة واحدة. لكن اختبار API الحقيقي غالبًا يكون تدفقًا كاملًا:
- إنشاء مورد.
- قراءته.
- تحديثه.
- حذفه.
في Talend API Tester يتم ذلك عبر Scenarios.
السيناريو هو قائمة مرتبة من الطلبات المحفوظة. عند تشغيله، تنفذ الأداة الطلبات من الأعلى إلى الأسفل وتعرض نتيجة كل خطوة.
مثال سيناريو:
Create user
→ Get user by id
→ Update user
→ Delete user
تمرير البيانات بين الخطوات
الميزة المهمة في السيناريوهات هي استخدام بيانات من استجابة في طلب لاحق.
مثال:
طلب Create user يعيد:
{
"id": 123,
"name": "Priya Nair"
}
استخرج قيمة id إلى متغير، ثم استخدمها في الطلب التالي:
GET {{host}}/users/{{userId}}
بهذا لا تختبر طلبات معزولة فقط، بل تختبر تدفقًا حقيقيًا يعتمد على حالة النظام.
متى تستخدم السيناريوهات؟
استخدم Scenario عندما تحتاج إلى اختبار:
- Login ثم استخدام token.
- إنشاء سجل ثم قراءته.
- تحديث مورد ثم التحقق من التغيير.
- حذف مورد ثم التأكد من عدم وجوده.
- تدفق كامل مثل checkout أو onboarding.
تدعم السيناريوهات أيضًا منطقًا شرطيًا وتكرارًا، مما يساعدك على نمذجة تدفقات أكثر واقعية. الفرق بين الفحص الفردي والتدفق المتعدد موضح أكثر في مقال سيناريو الاختبار مقابل حالة الاختبار.
إضافة Assertions للتحقق من الاستجابات
تشغيل الطلب يعرض لك الاستجابة. لكن Assertions تجعل الأداة تقرر هل الاستجابة صحيحة أم لا.
افتح طلبًا محفوظًا، ثم انتقل إلى قسم Assertions وأضف قواعد تحقق. في Talend API Tester يمكنك بناء التأكيدات من الواجهة بدون كتابة كود.
أمثلة Assertions مفيدة:
- Status code يساوي
200أو201. - Response time أقل من
500ms. - Header موجود مثل
Content-Type. - قيمة داخل JSON تطابق المتوقع.
- Body يحتوي على حقل معين.
مثال عملي لطلب GET /users/1:
Status code == 200
Response time < 500ms
Body $.id == 1
Body $.email exists
Header Content-Type contains application/json
عند تشغيل الطلب أو السيناريو، ستظهر كل Assertion كـ pass أو fail. هذا يحوّل الطلب من فحص بصري يدوي إلى اختبار قابل للتكرار.
ماذا تؤكد عادةً؟
ابدأ بهذه المجموعة البسيطة:
Status code
تأكد أن الطلب يعيد الكود الصحيح.Schema أو الحقول الأساسية
تحقق من وجود الحقول التي يعتمد عليها العميل.قيمة مهمة واحدة على الأقل
مثلidأوstatus.زمن الاستجابة
أضف حدًا منطقيًا للأداء.
مثال:
Status code == 200
Body $.status == "active"
Body $.id exists
Response time < 1000ms
ميزة Talend API Tester هنا أنه مناسب للمختبرين والمطورين الذين يريدون Assertions سريعة بدون JavaScript. لكن إذا احتجت منطقًا معقدًا، مثل مقارنة حقول متعددة أو حساب قيمة مشتقة، فقد تحتاج إلى أداة اختبار أكثر مرونة. للمزيد حول ما يستحق التحقق منه، راجع دليل تأكيدات API.
قراءة الاستجابة بشكل صحيح
حتى مع وجود Assertions، يجب أن تعرف كيف تفسر الاستجابة. ركّز على أربعة أجزاء.
1. Status code
رمز الحالة هو أول مؤشر:
-
2xx: نجاح. -
4xx: خطأ في الطلب أو المصادقة أو الصلاحيات. -
5xx: خطأ في الخادم.
مثال:
200 OK
أو:
404 Not Found
إذا كنت تبني REST API، راجع دليل رموز حالة HTTP التي يجب أن تستخدمها واجهات برمجة تطبيقات REST.
2. Response time
إذا كانت الاستجابة صحيحة لكنها بطيئة جدًا، فهذه مشكلة. راقب الزمن خصوصًا لنقاط النهاية المستخدمة بكثرة.
مثال Assertion:
Response time < 500ms
3. Headers
الرؤوس توضّح معلومات لا تظهر دائمًا في Body، مثل:
Content-Type: application/json
Cache-Control: no-cache
Access-Control-Allow-Origin: *
افحص Headers عند اختبار:
- نوع المحتوى.
- CORS.
- التخزين المؤقت.
- rate limits.
- المصادقة.
4. Body
الـ Body يحتوي البيانات الفعلية. تحقق من:
- وجود الحقول المطلوبة.
- صحة أنواع البيانات.
- القيم المتوقعة.
- عدم تسريب بيانات حساسة.
مثال JSON:
{
"id": 1,
"name": "Leanne Graham",
"email": "Sincere@april.biz"
}
لا تكتفِ بأن الطلب أعاد 200. تأكد أن البيانات نفسها صحيحة.
عندما لا تكون إضافة Chrome كافية
Talend API Tester مناسب للفحوصات السريعة داخل المتصفح، لكنه ليس دائمًا كافيًا مع توسع الاختبارات.
قيوده الأساسية:
- يعمل كإضافة Chrome، لذلك لا يناسب التشغيل headless في CI/CD مباشرة.
- Assertions مبنية على نماذج، لكنها محدودة مقارنة بمنصات اختبار كاملة.
- لا يغطي دورة حياة API كاملة مثل التصميم، mocking، التوثيق، والاختبارات الآلية في مساحة واحدة.
Apidog منصة API شاملة يمكن استخدامها عندما تحتاج إلى مساحة عمل أوسع. هو تطبيق مستقل، ويدعم استيراد Postman وOpenAPI وتنسيقات أخرى، ويضيف بناء Assertions مرئيًا، وخوادم وهمية، وسيناريوهات اختبار آلية، وتوثيقًا داخل مشروع واحد.
يمكنك تنزيل Apidog واستيراد طلباتك الحالية للمقارنة. وإذا كنت تقارن خيارات مختلفة، ابدأ من دليل أدوات اختبار API المجانية عبر الإنترنت.
الخلاصة: استخدم Talend API Tester للفحوصات السريعة داخل المتصفح، وانتقل إلى منصة أوسع عندما تحتاج إلى تنظيم أكبر أو تشغيل آلي أو CI/CD.
الأسئلة المتكررة
هل Talend API Tester هو نفسه Restlet Client؟
نعم. Talend API Tester هو الاسم الجديد للأداة التي كانت تُعرف باسم Restlet Client. الفكرة نفسها: إضافة Chrome لإرسال طلبات HTTP وتنظيمها وتشغيل سيناريوهات مع Assertions.
هل Talend API Tester مجاني؟
يتوفر إصدار مجاني في سوق Chrome الإلكتروني يغطي إرسال الطلبات، تنظيمها في مشاريع، وبناء سيناريوهات مع Assertions. هذا كافٍ لمعظم اختبارات المطور الفردية والفحوصات السريعة.
هل يمكن لـ Talend API Tester تشغيل الاختبارات في CI/CD؟
ليس مباشرة. لأنه يعمل كإضافة داخل Chrome، لا يُستخدم عادةً كمشغل headless في pipeline. لاختبارات تعمل عند كل commit، تحتاج إلى أداة توفر runner أو CLI. راجع دليل أتمتة اختبارات API في CI/CD.
ما التنسيقات التي يمكن لـ Talend API Tester استيرادها؟
يمكنه استيراد:
- Postman collections
- Swagger definitions
- OpenAPI definitions
- HAR files
هذا مفيد إذا كان لديك API spec أو تصدير سابق وتريد البدء بسرعة.
كيف يختلف السيناريو عن الطلب الفردي؟
الطلب الفردي يرسل مكالمة HTTP واحدة ويعرض استجابة واحدة. السيناريو يشغّل قائمة مرتبة من الطلبات، ويمكنه تمرير بيانات من استجابة إلى طلب لاحق.
استخدم الطلب الفردي لاختبار endpoint معزول، واستخدم السيناريو لاختبار تدفق كامل مثل:
text
Create → Read → Update → Delete
Top comments (0)