SwiftUI Academy · درس

اختبارات واجهة المستخدم باستخدام XCUITest

أتمت النقرات وعمليات التحقق على الشاشات

الدرس 3 من 413 خطوة

اختبارات واجهة المستخدم باستخدام XCUITest درس مجاني في SwiftUI Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في SwiftUI Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة SwiftUI Academy 4 دروس في المجموع.

ما الذي تفعله اختبارات واجهة المستخدم

تتحكم اختبارات واجهة المستخدم في تطبيقك كما يفعل شخص حقيقي: تنقر وتكتب وتسحب، ثم تتحقق من استجابة الشاشة بشكل صحيح. 📱

هدف اختبار منفصل

توجد اختبارات واجهة المستخدم في هدف UI Testing الخاص بها. يضيفه Xcode عند إنشاء المشروع أو من متصفح الاختبارات لاحقًا.

تشغيل التطبيق

يبدأ كل اختبار لواجهة المستخدم بتشغيل نسخة جديدة من التطبيق باستخدام XCUIApplication. يمنحك ذلك حالة نظيفة تبدأ منها.

let app = XCUIApplication()
app.launch()

العثور على العناصر

تصل إلى عناصر التحكم من خلال استعلامات مثل الأزرار وstaticTexts وtextFields. يعثر كل استعلام على العناصر حسب نوعها على الشاشة.

app.buttons["Add"]

النقر على زر

استدعِ tap على عنصر لمحاكاة ضغط الإصبع. يستجيب التطبيق تمامًا كما يستجيب لمستخدم حقيقي.

app.buttons["Add"].tap()

كتابة النص

انقر على الحقل أولًا، ثم أرسل ضغطات المفاتيح باستخدام typeText. هكذا تملأ النماذج أثناء الاختبار.

app.textFields["name"].typeText("Sam")

معرّفات إمكانية الوصول

امنح العروض accessibilityIdentifier ثابتًا حتى تعثر الاختبارات عليها، حتى عندما تتغير التسمية الظاهرة أو تتم ترجمتها.

.accessibilityIdentifier("addButton")

التحقق مما يظهر

تحقق من النتيجة باستخدام exists. تُرجع true عندما يكون العنصر ظاهرًا على الشاشة، مما يؤكد نجاح الإجراء.

XCTAssertTrue(app.staticTexts["Done"].exists)

انتظار العناصر

إذا حُمّل المحتوى بعد تأخير، فاستخدم waitForExistence مع مهلة زمنية. يتوقف الاختبار حتى يظهر العنصر. ⏳

label.waitForExistence(timeout: 3)

التسجيل للتعلّم

هل أنت جديد على الاستعلامات؟ استخدم زر record في Xcode. سيكتب الشيفرة أثناء النقر، ويمنحك نقطة بداية لتنقيحها.

أبقِ اختبارات واجهة المستخدم قليلة

اختبارات واجهة المستخدم أبطأ من اختبارات الوحدة. غطِّ التدفقات الأساسية مثل تسجيل الدخول والدفع، واترك الباقي لاختبارات الوحدة الأسرع.

تحقق سريع

ما الطريقة الأكثر موثوقية لكي يعثر اختبار واجهة المستخدم على عنصر تحكم؟

مراجعة

تحكمت في التطبيق باستخدام XCUITest: شغّلته، واستعلمت عن عناصر التحكم، ونقرت وكتبت، ثم تحققت باستخدام exists. تدفقات مستخدم حقيقية، مؤتمتة. 🎉

البدء مجانًا

تعلم Swift مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
30
الدروس
120

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

هل درس «اختبارات واجهة المستخدم باستخدام XCUITest» مجاني؟

نعم — نص درس «اختبارات واجهة المستخدم باستخدام XCUITest» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة SwiftUI Academy، انتقل إلى CoddyKit PRO. تتضمن دورة SwiftUI Academy 4 دروس في المجموع.

ماذا ستتعلم في «اختبارات واجهة المستخدم باستخدام XCUITest»؟

أتمت النقرات وعمليات التحقق على الشاشات تتمرن على SwiftUI Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ SwiftUI Academy؟

لا تُشترط خبرة سابقة. SwiftUI Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «اختبارات واجهة المستخدم باستخدام XCUITest»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس SwiftUI Academy هذا؟

نعم. كل درس في SwiftUI Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. اختبار ViewModels اختبارًا وحداتيًا
  2. اختبار التعليمات البرمجية غير المتزامنة
  3. اختبارات واجهة المستخدم باستخدام XCUITest
  4. الاختبار المدفوع باللقطات والمعاينات
← العودة إلى SwiftUI Academy