يتكامل Compose مع أُطر الاختبار الشائعة.
إمكانية التشغيل التفاعلي مع Espresso
في التطبيق المختلط، يمكنك العثور على مكوّنات Compose داخل تسلسلات هرمية للعناصر المرئية، وعلى عناصر مرئية داخل عناصر Compose القابلة للإنشاء (من خلال العنصر القابل للإنشاء AndroidView
).
ليست هناك خطوات خاصة مطلوبة لمطابقة أيّ من النوعين. يمكنك مطابقة طرق العرض مع onView
في Espresso، وعناصر Compose مع ComposeTestRule
.
@Test
fun androidViewInteropTest() {
// Check the initial state of a TextView that depends on a Compose state.
Espresso.onView(withText("Hello Views")).check(matches(isDisplayed()))
// Click on the Compose button that changes the state.
composeTestRule.onNodeWithText("Click here").performClick()
// Check the new value.
Espresso.onView(withText("Hello Compose")).check(matches(isDisplayed()))
}
إمكانية التشغيل التفاعلي مع UiAutomator
تتوفّر العناصر القابلة للإنشاء تلقائيًا من UiAutomator فقط من خلال الواصفات المناسبة لها (النص المعروض ووصف المحتوى وما إلى ذلك). إذا أردت الوصول إلى أي عنصر قابل للإنشاء يستخدم Modifier.testTag
، عليك تفعيل السمة الدلالية testTagsAsResourceId
للشجرة الفرعية الخاصة بالعنصر القابل للإنشاء. ويفيد تفعيل هذا السلوك في العناصر القابلة للإنشاء التي لا تتضمّن أي معرّف فريد آخر، مثل العناصر القابلة للإنشاء التي يمكن التمرير فيها (مثل LazyColumn
).
فعِّل السمة الدلالية مرة واحدة فقط في أعلى تسلسل هرمي للعناصر القابلة للإنشاء لضمان إمكانية الوصول إلى جميع العناصر القابلة للإنشاء المتداخلة التي تتضمّن Modifier.testTag
من UiAutomator.
Scaffold(
// Enables for all composables in the hierarchy.
modifier = Modifier.semantics {
testTagsAsResourceId = true
}
){
// Modifier.testTag is accessible from UiAutomator for composables nested here.
LazyColumn(
modifier = Modifier.testTag("myLazyColumn")
){
// Content
}
}
يمكن الوصول إلى أي عنصر قابل للإنشاء يتضمّن Modifier.testTag(tag)
باستخدام By.res(resourceName)
واستخدام tag
نفسه المستخدَم في resourceName
.
val device = UiDevice.getInstance(getInstrumentation())
val lazyColumn: UiObject2 = device.findObject(By.res("myLazyColumn"))
// Some interaction with the lazyColumn.
مراجع إضافية
- اختبار التطبيقات على Android: تقدّم صفحة Android الرئيسية للاختبار نظرة عامة على أساسيات الاختبار وأساليبه.
- أساسيات الاختبار: مزيد من المعلومات عن المفاهيم الأساسية لاختبار تطبيق Android
- الاختبارات المحلية: يمكنك إجراء بعض الاختبارات محليًا على محطة العمل الخاصة بك.
- الاختبارات المبرمَجة: من الممارسات الجيدة أيضًا إجراء اختبارات مبرمَجة. أي الاختبارات التي يتم إجراؤها مباشرةً على الجهاز.
- التكامل المستمر: يتيح لك التكامل المستمر دمج اختباراتك في مسار النشر.
- اختبار أحجام الشاشات المختلفة: بما أنّ المستخدمين يتوفّر لديهم العديد من الأجهزة، عليك اختبار أحجام الشاشات المختلفة.
- Espresso: على الرغم من أنّ Espresso مخصّصة لواجهات المستخدم المستندة إلى العرض، يمكن أن تكون معرفة Espresso مفيدة في بعض جوانب اختبار Compose.