البرمجة

اختبار عدد السجلات في مصفوفة JSON باستخدام JavaScript و Postman

في بداية الأمر، يتعين عليك فهم كيفية استخدام Postman لاختبار واستدعاء الطلبات عبر الويب. عند تحليل الرد الذي تلقيته من السيطرة الخاصة بك، يظهر أن البيانات موجودة في خاصية “value” كمصفوفة. لذا، ستحتاج إلى تعديل رمزك ليتناسب مع تلك الهيكلية.

أولاً، يجب أن تقوم بتحديد “value” كمصفوفة للوصول إلى السجلات. يمكنك استخدام الكود التالي:

javascript
// تحليل الرد الخاص بك var responseJson = JSON.parse(responseBody); var records = responseJson.value; // فحص عدد السجلات tests["Expected number of records"] = records.length === 2;

تأكد من أن تكون السجلات قد تم استخراجها بشكل صحيح من “value”. الآن يمكنك التحقق من عدد السجلات المعادة من قبل السيطرة الخاصة بك في Postman.

بالنسبة للكود الخاص بك، كان هناك خطأ في استخدام “responseBody.length”، لأنك تريد الحصول على طول المصفوفة، وليس الرد ككل. تم استبدال ذلك بـ “records.length” في الكود الذي قدمته.

قد يكون الكود الذي قدمته في محاولات سابقة لاستخدام حلقة للمرور عبر السجلات. إذا كنت بحاجة إلى الوصول إلى خصائص معينة داخل كل سجل، يمكنك استخدام حلقة for، على سبيل المثال:

javascript
for (var i = 0; i < records.length; i++) { var currentRecord = records[i]; // يمكنك استخدام currentRecord للوصول إلى خصائص السجل الحالي }

هذا يمكن أن يكون مفيدًا إذا كنت تريد القيام بمزيد من الاختبارات أو استخدام البيانات في مرحلة لاحقة.

المزيد من المعلومات

لفهم أفضل للسياق، يمكن التفصيل أكثر حول الطلب الذي تقوم بإرساله إلى الـ API وكيفية تنفيذ اختبارات Postman الخاصة بك. على سبيل المثال، هل تقوم بتحديد أي endpoint خاص، وما نوع الطلب الذي تقوم بإرساله (GET أو POST)؟ هل تستخدم أي متغيرات بيئية (environment variables) في الطلب الخاص بك؟

بالإضافة إلى ذلك، يمكنك أن تفكر في استخدام دوال Postman الخاصة بالاختبارات مثل tests وpm.expect لتحسين قوة اختباراتك وجعلها أكثر تفصيلاً.

للمثال، إذا كنت ترغب في التحقق من وجود خصائص معينة داخل كل سجل، يمكنك استخدام شيفرة مثل هذه:

javascript
var responseJson = JSON.parse(responseBody); var records = responseJson.value; // تحقق من وجود السجلات tests["Records Exist"] = records !== undefined && records.length > 0; // اختبار خصائص كل سجل for (var i = 0; i < records.length; i++) { var currentRecord = records[i]; // اختبار وجود خصائص معينة pm.expect(currentRecord).to.have.property('ID'); pm.expect(currentRecord).to.have.property('Pupil'); pm.expect(currentRecord).to.have.property('Offer'); // إذا كنت بحاجة إلى اختبار خصائص إضافية يمكنك إضافتها هنا }

يرجى توفير مزيد من المعلومات حتى يمكنني تقديم توجيهات أكثر دقة وفعالية.

زر الذهاب إلى الأعلى