شفت مقدمة مكتبة QAcart بالدرس السابق. وأنا متأكد إنه في سؤال براسك:
«أنا دفعت حتى أتعلّم Selenium. ما هذه المكتبة؟ ليش ما نبدأ بـ Selenium مباشرة؟»
سؤال محترم تماماً، ويستاهل جواب صريح. وهذا الدرس هو الجواب.
وخليني أبدأ بالتطمين: ستتعلّم Selenium كامل — 48 ساعة منه، من أول أمر لتصميم إطار عمل. هذه المكتبة مش بديل ولا اختصار. هي تحضير.
بنهاية هذا الدرس، ستكون قادراً على:
تعلّم الأتمتة فيه مهارتان مستقلتان تماماً:
1. تفكير الأتمتة
2. أدوات Selenium
WebDriver و By و WebElementWebDriverWait و ExpectedConditionsStaleElementReferenceException و ElementNotInteractableExceptionStaleElementReferenceException تطلع. الدماغ لا يستطيع يتعلّم مفهومين جديدين بنفس اللحظة بكفاءة — يتعلّم واحد منهم سطحياً والثاني بالحفظ.
والنتيجة التي بشوفها كل يوم: مؤتمت يعرف يكتب driver.findElement(...) ممتاز، لكن اختباراته متذبذبة ومربوطة ببعضها — لأنه تعلّم الأداة ولا تعلّم التفكير.المكتبة تخفي الأدوات حتى تركّز على التفكير:
// بالمكتبة — سطر واحد، ولا انتظار ولا استثناءات
await page.getByTestId('login-submit').click();// بـ Selenium — نفس الفعل، وثلاث مفاهيم جديدة
new WebDriverWait(driver, Duration.ofSeconds(10))
.until(ExpectedConditions.elementToBeClickable(By.cssSelector("[data-test='login-submit']")))
.click();السطر الأول يجعلك تفكّر بـ "ما بدي أختبر". السطر الثاني يجعلك تفكّر بـ "كيف أخلي الأداة تشتغل".
data-test
- Shift Left — متى يبدأ شغل المؤتمت
ولا واحد من هؤلاء عن Selenium. كلهم عن الهندسة — وكلهم بينتقلوا معك لأي أداة تستخدمها بحياتك، Selenium أو Playwright أو أي شيء جاي بعد عشر سنين.سؤال منطقي. والجواب: المكتبة مبنية على Playwright فعلياً — هي غلاف بسيط عليه.
فليش الغلاف؟ لتقليل الضجيج:
كل هذا حتى يبقى شي واحد بتفكّر فيه: الاختبار نفسه.
الانتقال مش قفزة — هو درس.
بالقسم السابع (أساسيات Selenium)، أول درس بعد المقدمة هو «من مكتبة QAcart إلى Selenium — جدول التحويل»، وفيه:
By| الجزء | المدة | النسبة |
|---|---|---|
| مكتبة QAcart (الأقسام 2-4) | ~16 ساعة | 33% |
| Selenium وتصميم الأطر | ~32 ساعة | 67% |
ثلث الوقت للتفكير، وثلثان للأداة والأطر. ومعظم اللي بالثلث الأول ينتقل معك للثلثين.
بصراحة: أه، إذا انطبق عليك الثلاثة:
وقتها روح للقسم الخامس (جافا) مباشرة.
ستتعلّم Selenium كامل — 48 ساعة، من أول أمر لتصميم إطار. المكتبة تحضير مش بديل.
في مهارتان مستقلتان: تفكير الأتمتة وأدوات Selenium.
وتعلّمهم مع بعض يضاعف الصعوبة — الدماغ يتعلّم مفهوم جديد واحد بكفاءة، والثاني بالحفظ.
والنتيجة الشائعة: مؤتمت يعرف الأوامر ممتاز واختباراته متذبذبة ومربوطة.
الأقسام الثلاثة الجاية عن الهندسة مش عن أداة — والهندسة تنتقل لأي أداة جاية.
المكتبة مبنية على Playwright — فبتخرج فاهم نموذجه، وتعلّمه بعد ذلك يأخذ أسبوع مش شهر.
الانتقال درس مش قفزة — جدول تحويل كامل بالقسم السابع.
وستدخل Selenium تعرف لا تريد منه — انتظار، ومحددات متينة، واستقلال.
ثلث الوقت للتفكير، وثلثان للأداة — ومعظم الثلث ينتقل.
تستطيع أن تتخطّى إذا عندك سنة خبرة فعلية — وإذا ما كنت متأكد ما معنى "Atomic"، فلا تتخطّى.
في الدرس الجاي: رح نبلش فعلياً — أمر الإغلاق (Close Command)، وأول سطر كود إلك بالكورس.
يلا، نلتقي بالدرس الجاي!