قبل ما نبدأ، خليني أوضّح لك خطة الكورس — لأنها مقصودة، ومهم تعرفها من الآن حتى تعرف وين مكانك فيها.
من أول درس لآخر قسم عملي، كل شي رح نشتغله على Android: المحاكي، وتطبيق QAcart Todo، وكل حالة اختبار، والـ flows، والـ config، والـ CLI، والـ Cloud، والـ CI/CD.
السبب بسيط: أدوات Android بتشتغل على Windows و macOS الاثنين. يعني مهما كان جهازك، بتقدر تمشي بالكورس كامل من البداية للنهاية بدون ما توقف عند أي درس.
وهاي النقطة الأهم: لما تخلص الكورس، بتكون فهمت Maestro نفسه — مش «Maestro على Android».
الـ YAML اللي بتكتبه هو هو على المنصّتين. نفس launchApp، نفس tapOn، نفس assertVisible، نفس المحدِّدات، نفس الـ flows، نفس config.yaml، نفس أوامر الطرفية. اللي بيختلف بين Android و iOS إشي واحد أساسي: معرّف التطبيق (الـ appId) — وفي آخر درس بالكورس بنخلّيه يتغيّر لحاله حسب المنصّة، فيصير نفس ملف الاختبار يشتغل على الاثنين.
يعني الجزء الصعب — بناء الـ framework وتنظيمه وربطه بالـ pipeline — بتتعلّمه مرة وحدة، وبينطبق على الاثنين.
بعد ما تكون فهمت كل شي على Android، في قسم كامل للـ iOS: نثبّت Xcode، نجهّز الـ Simulator، نثبّت نسخة الـ iOS من التطبيق، ونشغّل نفس الاختبارات — بدون ما نعيد كتابتها.
في تفصيل مهم هون، وما بدي تفوته:
يعني حتى لو ما عندك Mac: بتعمل الكورس كامل، وبتقدر فعلياً تشغّل اختباراتك على iOS عن طريق الـ Cloud. الشي الوحيد اللي رح تتفرّج عليه بدل ما تطبّقه هو إعداد Xcode والمحاكي المحلي.