كتير مننا بينسى حاجة بسيطة لكنها بتفرق 180 درجة في استقرار الـ automation suite:
💡 الـ Browser Configuration
لو بتستخدم Selenium مع Chrome، فالـ ChromeOptions هو السلاح السري اللي بيخليك تتحكم في سلوك المتصفح بالكامل قبل ما يبدأ الـ test run.
من غير إعدادات صحيحة، Chrome بيشتغل بالإعدادات الافتراضية الموجهة للمستخدم العادي، مش للـ automation — وده بيخلي الـ tests تقع بسبب:
- Pop-ups فجائية 🔔
- Notifications مزعجة
- Info bars زي “Chrome is being controlled…”
- أو حتى window-size مختلف في كل run 😩
النتيجة؟
❌ Test flakiness
❌ ساعات ضايعة في debugging
❌ ثقة أقل في الـ Automation Suite
لكن الحل بسيط جدًا 👇
سيطر على الـ environment بنفسك من خلال إعدادات ذكية في ChromeOptions:
🔥 أهم الـ Options لتثبيت واستقرار الـ Tests:
1️⃣ تشغيل الـ Tests في الخلفية (مناسب للـ CI/CD):
options.add_argument("--headless")
options.add_argument("--disable-gpu")
options.add_argument("--no-sandbox")
2️⃣ تثبيت حجم الشاشة لتجنب مشاكل الـ Responsive Design:
options.add_argument("--window-size=1920,1080")
# أو
options.add_argument("--start-maximized")
3️⃣ منع الإشعارات والـ pop-ups المزعجة:
options.add_argument("--disable-notifications")
4️⃣ تشغيل المتصفح في وضع incognito لتجربة نظيفة كل مرة:
options.add_argument("--incognito")
5️⃣ تسريع تحميل الصفحات بإيقاف الصور:
prefs = {"profile.managed_default_content_settings.images": 2}
options.add_experimental_option("prefs", prefs)
كل argument من دول ممكن ينقذك من ساعات debugging لمشاكل “وهمية”.
🎯 الـ Automation مش مجرد كتابة test cases — ده بناء infrastructure قوية ومستقرة تضمن إن كل test run يكون موثوق.




يجب أنت تكون مسجل الدخول لتضيف تعليقاً.