عزل المتصفح لا يصل إلى الصندوق الخارجي
لماذا تحتاج اختبارات E2E للبريد صناديق معزولة في CI المتوازية
امنح كل سيناريو أو worker مستلماً خاصاً حتى لا تقرأ الاختبارات المتوازية رسائل بعضها أو تبطل رموز بعضها أو تحذف أدلة بعضها.
يمكن أن تكون BrowserContexts في Playwright معزولة تماماً بينما يتصادم اختباران لأن OTP أو verification يصلان إلى العنوان نفسه. في CI المتوازية يصبح البريد test data مشتركة، وتظهر race conditions لا تراها عند التشغيل المتسلسل.
المستلم جزء من backend test data
Playwright يوصي ببيانات فريدة بين workers وCypress يركز على استقلال الاختبارات. البريد يجب أن يتبع القاعدة نفسها.
مسح cookies لا يحذف رسالة خارجية ولا يعيد token إلى حالته السابقة.
تصادمات شائعة
| التصادم | false pass | false fail |
|---|---|---|
| signup مزدوج | A يستخدم رسالة B | الرسالة استُخدمت |
| OTP مزدوج | parser يقبل أي code | resend يبطل الآخر |
| reset مزدوج | link خاطئ يغير حساباً | token يستبدل الآخر |
| cleanup عام | الصندوق يبدو نظيفاً | worker آخر يفقد الدليل |
اختر وحدة العزل
- 1
عنوان لكل test
أفضل attribution.
- 2
عنوان لكل worker فقط مع serial داخلي
وإلا يبقى التصادم.
- 3
أضف correlation
test ID أو الوقت أو subject يساعد.
- 4
teardown محلي
كل test ينظف ما يملكه فقط.
العزل لا يعتمد على مزود بعينه
في QA اليدوية قد يكفي صندوق مؤقت جديد. في CI الآلية استخدم بنية يمكن التحكم بها برمجياً. القاعدة أن سيناريوهين نشطين لا يشتركان في حالة authentication البريدية بالخطأ.
عامل عنوان البريد كـfixture. عندما يملك كل سيناريو صندوقه، تصبح الاختبارات المتوازية أكثر حتمية وأسهل في التشخيص.
هل تحتاج مستلماً نظيفاً لاختبار البريد يدوياً؟
استخدم MailOnce لفحص رسائل التسجيل ورموز OTP والروابط السحرية وإعادة تعيين كلمة المرور والإشعارات من دون إدخال بريدك الشخصي ضمن بيانات الاختبار.
أنشئ بريداً مؤقتاًالمصادر وقراءة إضافية
توثيق أمني وتقني أساسي استُخدم لتثبيت إرشادات الاختبار.
واصل الاختبار
انتقل إلى الحد التالي داخل مساحة مشكلة اختبار البريد نفسها.