QA The Other Wayضمان الجودة في عصر أتمتة الذكاء الاصطناعي. QA The Other Way.
اختبارات QA عملية

خطأ وحدة التحكم ليس استثناء غير معالج.

اجمع رسائل وحدة التحكم وأخطاء الصفحة منفصلة ثم افحص النتيجة.

5 دقائق للقراءةQA The Other Way
قناتان لرسالة وحدة التحكم والاستثناء غير المعالج.
رسم تحريري أصلي.
فيديو توضيحي لهذه المقالة. النص الإنجليزي الذي يظهر على الشاشة؛ حدد ترجمات لهذه اللغة.

طبعة مترجمة. تظل المعرفات الفنية في شكلها الأصلي.

اجمع رسائل وحدة التحكم وأخطاء الصفحة منفصلة ثم افحص النتيجة.
مثال محلي مخترع، لا واجهة عميل أو مزود.

يمر اختبار رغم كتابة الصفحة خطأ خلال الإجراء. في تشغيل آخر يرمي سكربت استثناء غير معالج بينما يبقى العنوان المتوقع. إشارتان مختلفتان؛ جمع واحدة لا يصف الأخرى.

توثق واجهة Page console لاستدعاءات وحدة التحكم وpageerror للاستثناءات غير المعالجة. يوفر ConsoleMessage النوع والنص. احفظ القناة كي لا تصبح رسالة تشخيصا مخترعا لاستثناء.

استمع قبل الإجراء

صفحتنا المخترعة لها زر console.error وآخر يجدول Error. لا موارد خارجية أو بيانات عملاء. ينتظر الاختبار قبل النقر ويفحص القناة المناسبة.

const pending = page.waitForEvent('console', message =>
  message.type() === 'error' && message.text() === 'demo diagnostic'
);
await page.getByRole('button', { name: 'Log demo error' }).click();
const message = await pending;
expect(message.text()).toBe('demo diagnostic');

يحتاج المقطع مشغل Playwright واستيراد expect وتجهيزا محليا. يبدأ الانتظار قبل النقر لالتقاط حدث سريع. يطابق نصا مخترعا دقيقا، لا كل أخطاء التطبيق. سجل pageerror منفصلا.

ينشئ console.error المتحكم فيه الرسالة دون pageerror. ينشئ throw مجدول منفصل pageerror بالنص المتوقع. يؤكد ذلك المثال، لا كل سياسات المتصفح أو المكتبات.

افصل الجمع والقرار

تلقي حدث لا يفشل توكيدا بمفرده. حدد الأحداث غير المتوقعة التي تفشل الرحلة والرسائل المسموحة ومسؤول كل استثناء. يجب أن تبقى القائمة ضيقة وقابلة للمراجعة دون إسكات القناة كلها.

افحص المصدر والإجراء قبل إسناد السبب. قد تصف الرسالة حالة عولجت، والاستثناء عملا آخر. لا يثبت أي منهما حفظ سجل. احتفظ بتوكيدات النتيجة.

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

احم التشخيص

قد تحمل الحجج والأخطاء سجلات أو رموز وصول أو روابط. اجمع المطلوب فقط وأخف البيانات قبل المشاركة. إمكانية القراءة لا تجيز النشر الكامل. هنا نصوص مخترعة ثابتة فقط.

راجع وقت الربط والمرشح والتوكيد الذي يستخدم النتيجة. يصف AnyTest الاستكشاف واختبارات للمراجعة البشرية. لا ندعي ميزة وحدة تحكم معينة. سم القناة والإجراء والتوقع والدليل المفقود.

مستمع صفحة لا يصف نافذة منفصلة. اربط البيانات بصفحتها وفترتها. افحص فجوات التغطية قبل جمع قوائم لقرار إصدار.

يجب أن يكون السماح برسالة معروفة ضيقا وقابلا للمراجعة مع مسؤول واضح. لا تستبدل توكيد النتيجة بقائمة تشخيص فارغة، خصوصا إذا لم تراقب التهيئة أو الملاحة أو النافذة الأخرى.

الأسئلة الشائعة

هل console.error دائما استثناء؟

لا. الرسائل والاستثناءات تستخدم قنوات مختلفة.

هل الاستماع يفشل الاختبار؟

لا. يحتاج توكيدا أو قاعدة تقيم الدليل.

مصادر