اختبارات واجهة المستخدم للسلوك
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
اختبارات واجهة المستخدم السلوكية هي اختبارات تحلِّل التسلسل الهرمي لواجهة المستخدم لتقديم تأكيدات
على خصائص عناصر واجهة المستخدم.
أُطر عمل Jetpack
يتضمّن Jetpack إطارات عمل مختلفة توفّر واجهات برمجة تطبيقات لكتابة اختبارات واجهة المستخدم:
- يقدّم إطار عمل اختبار Espresso (Android 4.0.1 أو مستوى واجهة برمجة التطبيقات 14 أو
إصدار أحدث) واجهات برمجة تطبيقات لكتابة اختبارات واجهة المستخدم بهدف
محاكاة تفاعلات المستخدمين مع العناصر ضمن تطبيق مستهدَف واحد. ومن بين فوائد استخدام Espresso
المهمّة
أنّه يوفر مزامنة تلقائية بين
إجراءات الاختبار
وواجهة مستخدم التطبيق الذي تختبره. يرصد Espresso الحالات التي يكون فيها سلسلت الرسائل الأساسية في وضع السكون، ما يتيح له تنفيذ أوامر الاختبار في الوقت المناسب، ما يؤدي إلى تحسين موثوقية اختباراتك.
- توفّر أداة Jetpack Compose (الإصدار 5.0 من Android أو المستوى 21 من واجهة برمجة التطبيقات أو الإصدارات الأحدث) مجموعة
من واجهات برمجة تطبيقات اختبار لتشغيل شاشة Compose ومكوّناتها والتفاعل معها. تتم مزامنة التفاعلات مع عناصر الإنشاء
مع الاختبارات، ويمكنك التحكّم بشكل كامل في الوقت
والرسوم المتحركة وعمليات إعادة الإنشاء.
- UI Automator (الإصدار 4.3 من نظام التشغيل Android أو المستوى 18 من واجهة برمجة التطبيقات أو الإصدارات الأحدث) هو إطار عمل لاختبار واجهة المستخدم ومناسب لاختبار واجهة المستخدم الوظيفية على مستوى التطبيقات المختلفة على مستوى النظام
و
التطبيقات المثبَّتة. تتيح لك واجهات برمجة تطبيقات UI Automator تنفيذ عمليات مثل
فتح قائمة "الإعدادات" أو مشغّل التطبيقات على جهاز اختباري.
- يتيح لك Robolectric (Android 4.1، المستوى 16 من واجهة برمجة التطبيقات أو إصدار أحدث)
إنشاء اختبارات محلية يتم تشغيلها على
محطة عملك أو بيئة الدمج المستمر في Java Virtual Machine (آلة Java الافتراضية) العادية، بدلاً من استخدام جهاز محاكاة أو جهاز. ويمكنه استخدام واجهات برمجة تطبيقات اختبار Espresso أو Compose للتفاعل مع مكونات واجهة المستخدم.
مصادر إضافية
لمزيد من المعلومات عن إنشاء اختبارات واجهة المستخدم، يُرجى الرجوع إلى الموارد التالية.
المستندات
الدروس التطبيقية حول الترميز
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Behavior UI Tests\n\nBehavior UI tests are tests that analyze the UI hierarchy to make assertions\non the properties of the UI elements.\n\nJetpack frameworks\n------------------\n\nJetpack includes various frameworks that provide APIs for writing UI tests:\n\n- The **[Espresso testing framework](/training/testing/espresso)** (Android 4.0.1, API level 14 or higher) provides APIs for writing UI tests to simulate user interactions with *Views* within a single target app. A key benefit of using Espresso is that it provides automatic synchronization of test actions with the UI of the app you are testing. Espresso detects when the main thread is idle, so it is able to run your test commands at the appropriate time, improving the reliability of your tests.\n- **[Jetpack Compose](/jetpack/compose)** (Android 5.0, API level 21 or higher) provides a set of [*testing APIs*](/jetpack/compose/testing) to launch and interact with Compose screens and components. Interactions with Compose elements are synchronized with tests and have complete control over time, animations and recompositions.\n- **[UI Automator](/training/testing/ui-automator)** (Android 4.3, API level 18 or higher) is a UI testing framework suitable for cross-app functional UI testing across system and installed apps. The UI Automator APIs allows you to perform operations such as opening the Settings menu or the app launcher on a test device.\n- **[Robolectric](/training/testing/local-tests/robolectric)** (Android 4.1, API level 16 or higher) lets you create *local* tests that run on your workstation or continuous integration environment in a regular JVM, instead of on an emulator or device. It can use Espresso or Compose testing APIs to interact with UI components.\n\nAdditional resources\n--------------------\n\nFor more information about creating UI tests, consult the following resources.\n\n### Documentation\n\n- [Build instrumented tests](/training/testing/instrumented-tests)\n- [Espresso](/training/testing/espresso)\n- [Compose Testing](/jetpack/compose/testing)\n\n### Codelabs\n\n- [Introduction to Test Doubles and Dependency Injection](/codelabs/advanced-android-kotlin-training-testing-test-doubles)"]]