عند اختبار واجهات البرمجة للتطبيقات في Apidog، من الضروري غالبًا استخراج قيم محددة من بيانات استجابة واجهة البرمجة لمزيد من المعالجة والاستخدام (عادةً لإجراء طلبات إضافية). عادةً، تكون بيانات استجابة واجهة البرمجة بتنسيق JSON أو XML. JSON هو الشكل الأكثر شيوعًا والأفضل لأنه مختصر وسهل القراءة وسهل التحليل. لذلك ستركز هذه المقالة على تقنيات تحليل بيانات JSON.
الأجزاء الرئيسية من الاستجابة التي تحتاج عادةً إلى معالجة هي رؤوس الاستجابة و جسم الاستجابة. يوفر Apidog أدوات مدمجة لاستخراج محتوى كل من رؤوس الاستجابة وجسم الاستجابة للتحليل. في هذا المنشور، سنستكشف تقنيات استخراج بيانات استجابة واجهة البرمجة في Apidog.
استخراج رؤوس الاستجابة في Apidog
تحتوي جميع استجابات HTTP على رؤوس توفر بيانات وصفية حول الاستجابة. تُعرض رؤوس الاستجابة في شكل قائمة مع قيمها. يمكنك التمرير عبر القائمة لفحصها.
غالبًا، قد ترغب في استخراج قيمة رأس محددة للتحقق. على سبيل المثال، لاختبار واجهة برمجة التطبيقات للمصادقة، قد ترغب في التأكد من أنها تعيد رمزًا صالحًا في الاستجابة.
سيقوم Apidog تلقائيًا بإنشاء متغير يخزن قيمة ذلك الرأس. يمكنك بعد ذلك الإشارة إلى هذا المتغير في خطوات الاختبار التالية للتحقق من القيمة. هذا يوفر طريقة مريحة لاستخراج رؤوس الاستجابة للتحقق.
رؤوس استجابة نموذجية من واجهة برمجة التطبيقات:

لاستخراج القيمة الكاملة للرأس الذي يحمل المفتاح "Session-Token"، يمكنك ببساطة إدخال اسم المفتاح في قسم "Post Action" لواجهة البرمجة.

ومع ذلك، ماذا لو كنت ترغب في استخراج جزء فقط من قيمة رأس Session-Token، مثل قيمة msToken فقط؟ في هذه الحالة، ستحتاج إلى استخدام نص برمجي مع تعبير عادي لأداء الاستخراج.
لاستخراج قيمة الرمز من Session-Token، سيكون النص البرمجي المطلوب كالتالي:
pm.response.headers.toJSON()[2]['value'].toString().match(/msToken=([^;\s"]+)/)[1]
في هذا النص البرمجي، نحصل أولاً على القيمة الكاملة لرأس Session-Token باستخدام pm.response.headers. ثم نستخدم تعبيرًا عاديًا لاستخراج قيمة msToken فقط من Session-Token. هذا يُرجع مصفوفة، لذا نقوم بالوصول إلى المصفوفة للحصول على القيمة الفعلية.
استخراج محتوى جسم الاستجابة
بالإضافة إلى الرؤوس، يحتوي جسم الاستجابة على الحمولة التي تعيدها واجهة البرمجة. لتحليل محتوى الاستجابة، يجب عليك أولاً استخراجها أو تحليلها.
إذا كانت الاستجابة بيانات JSON، يمكن لـ Apidog تحويلها تلقائيًا إلى متغيرات JSON منظمة. لتمكين ذلك:
- في قسم "Post Processors" لواجهة البرمجة، اختر "Extract Variable".

2. املأ تعبير JSONPath والخيارات الأخرى.

3. بعد إعداد ذلك، أرسل الطلب. سيقوم Apidog باستخراج قيم الحقول المطابقة من بيانات الاستجابة بناءً على تعبير JSONPath الذي قدمته. سيتم تخزين القيم المستخرجة تلقائيًا في متغيرات "Environment/Global/Temporary".
سيقوم Apidog بتحليل JSON وإنشاء متغيرات للبيانات التي يمكنك الإشارة إليها في خطوات الاختبار التالية.
بالنسبة للمحتوى غير JSON مثل XML أو النص العادي، قد تحتاج إلى استخراج أجزاء محددة باستخدام التعبيرات العادية. يدعم Apidog إنشاء أنماط regex بصريًا لمطابقة واستخراج السلاسل الفرعية أو القيم في الاستجابة.

في الختام
تعتبر القدرة على استخراج بيانات الاستجابة أمرًا حيويًا لاختبار واجهة البرمجة بفعالية. يوفر Apidog أدوات مدمجة مرنة لاستخراج كل من الرؤوس ومحتوى جسم الاستجابة. تُعالج الاستخراج التلقائي لـ JSON حالات الاستخدام الشائعة بينما يمنحك التعبير العادي التحكم الكامل للاستجابات المعقدة.
قم بتطبيق هذه التقنيات لاستخراج البيانات في اختبارات واجهة البرمجة الخاصة بك لتبسيط التحقق وتحسين التغطية. يسمح لك Apidog بتحويل بيانات الاستجابة إلى متغيرات قابلة للتنفيذ للتأكيد على التفاصيل الرئيسية وتعزيز خطوات الاختبار اللاحقة. تؤدي الاختبارات الأكثر قوة إلى APIs عالية الجودة وتجارب مستخدم أفضل.



