AIM Tech

🧪 دليلك الشامل لتعلم اختبار REST APIs باستخدام Rest Assured

🎯 مقدمة عن Rest Assured في اختبار الـ APIs

في السنوات الأخيرة، أصبحت مسؤولية اختبار واجهات الـ APIs تقع بشكل متزايد على عاتق الـ Tester بدلاً من الـ Developer، خصوصًا في بيئات العمل التي تعتمد على فرق الـ QA بشكل كبير لضمان جودة الأنظمة.

ومن بين أبرز الأدوات التي ظهرت في مجال اختبار واجهات الـ APIs هي مكتبة Rest Assured، وهي مكتبة مجانية ومفتوحة المصدر بلغة Java، تُستخدم على نطاق واسع في أتمتة اختبارات الـ RESTful APIs.

Rest Assured تتيح لمهندسي الاختبار كتابة اختبارات واضحة ومفهومة باستخدام أسلوب BDD (Given – When – Then)، مع دعم كامل للتحقق من الاستجابات، سواء كانت في صيغة JSON أو XML، بالإضافة إلى التكامل السهل مع أدوات مثل TestNG، JUnit، وMaven.

إذا كنت تعمل في مجال اختبار البرمجيات أو تطمح لأن تصبح Automation Tester متخصص في اختبار الـ APIs، فإن تعلم واستخدام Rest Assured سيكون خطوة أساسية في مسارك المهني.


📘 المفاهيم الأساسية – Introduction to REST Assured

🔹 ما هو Rest Assured؟
هي مكتبة (Library) بلغة Java تسهّل كتابة سكريبتات لاختبار REST APIs بشكل بسيط وسلس، بدون الحاجة لكتابة كود HTTP كثير ومعقد.

🔹 لماذا تستخدم Rest Assured؟

  • سهلة الاستخدام وبتدعم أسلوب BDD (Given – When – Then)
  • قوية في التحقق من الـ Response: Status Code, Body, Headers
  • تقدر تدمجها بسهولة مع TestNG, JUnit, Maven, و CI tools زي Jenkins
  • مناسبة للاختبارات اليدوية والآلية (Manual + Automation)

🧪 مثال سريع – Simple Example

@Test
public void testGetUsers() {
given()
.baseUri("https://reqres.in")
.when()
.get("/api/users?page=2")
.then()
.statusCode(200)
.body("data.size()", greaterThan(0));
}

🎓 كورسات تعليمية – Courses

📚 المحتوى باللغة الإنجليزية – English Content

🔹 Beginner Level – Rest Assured

🔹 Intermediate/Advanced


📚 المحتوى باللغة العربية – Arabic Content

🔹 كورسات بالعربي بتشرح Rest Assured أو مقدمة في اختبار APIs:

🔹 للتمهيد قبل البدء بـ Rest Assured
يفضل تتعلم Postman و HTTP Basics قبل ما تبدأ بالأتمتة باستخدام Rest Assured.


🛠️ أدوات مساعدة – Tools You’ll Use

الأداةالوظيفة
Rest Assuredكتابة السكريبتات
TestNG / JUnitتنظيم الاختبارات
Mavenإدارة Dependencies
Jenkinsتنفيذ تلقائي للاختبارات (CI/CD)

✅ ترتيب خطوات تعلم Rest Assured

1️⃣ فهم أساسيات HTTP و REST API
⬅ الخطوة الأولى لفهم كيفية عمل الـ APIs والتفاعل معها.

2️⃣ إتقان Postman لاختبارات الـ Manual
⬅ خطوة مهمة لتجربة وفهم كيفية إرسال الطلبات وتحليل الاستجابات يدويًا.

3️⃣ الانتقال إلى Rest Assured + Java
⬅ بداية التحول من الاختبار اليدوي إلى الأتمتة باستخدام Java وRest Assured.

4️⃣ كتابة اختبارات BDD (Given – When – Then)
⬅ كتابة اختبارات قابلة للقراءة والتنظيم باستخدام نمط BDD المدعوم في Rest Assured.

5️⃣ دمج Rest Assured في إطار العمل الخاص بك (Framework)
⬅ إنشاء هيكل تنظيمي للاختبارات باستخدام TestNG أو JUnit، مع تحسين الصيانة وإعادة الاستخدام.

6️⃣ تنفيذ الاختبارات من خلال Jenkins أو أدوات CI/CD
⬅ ربط الاختبارات بخط التطوير لتعمل بشكل تلقائي عند كل تحديث للكود.


📎 مصادر إضافية – Useful Resources