ทดสอบ UI ของแอปเพื่อยืนยันว่าลักษณะการทํางานของโค้ด Compose ถูกต้อง วิธีนี้จะช่วยให้คุณพบข้อผิดพลาดได้ตั้งแต่เนิ่นๆ และปรับปรุงคุณภาพของแอปได้
Compose มีชุด API การทดสอบเพื่อค้นหาองค์ประกอบ ยืนยันแอตทริบิวต์ และดำเนินการของผู้ใช้ นอกจากนี้ API ยังมีฟีเจอร์ขั้นสูง เช่น การควบคุมเวลา ใช้ API เหล่านี้เพื่อสร้างการทดสอบที่มีประสิทธิภาพซึ่งยืนยันลักษณะการทํางานของแอป
ยอดดู
หากคุณทํางานกับมุมมองแทนการเขียน ให้ดูส่วนทดสอบแอปใน Android ทั่วไป
โดยเฉพาะอย่างยิ่ง จุดที่ควรเริ่มต้นคือคู่มือการทดสอบ UI อัตโนมัติ โดยจะอธิบายวิธีทำให้การทดสอบที่ทำงานบนอุปกรณ์เป็นแบบอัตโนมัติ รวมถึงเมื่อใช้มุมมอง
หัวข้อสำคัญ
แนวคิดหลักในการทดสอบโค้ด Compose มีดังนี้
- ความหมาย: เขียนการทดสอบโต้ตอบกับ UI โดยใช้ความหมาย ซึ่งให้ความหมายของส่วนต่างๆ ของ UI และสร้างขึ้นพร้อมกับลำดับชั้น UI
- Testing API: Compose มี API การทดสอบสำหรับการค้นหาองค์ประกอบ ยืนยันสถานะและพร็อพเพอร์ตี้ รวมถึงดำเนินการต่างๆ เพื่อจำลองการโต้ตอบของผู้ใช้
- การซิงค์: โดยค่าเริ่มต้น การทดสอบการเขียนจะซิงค์กับ UI โดยอัตโนมัติ โดยจะรอให้ UI หยุดทำงานก่อนทำการยืนยันหรือดำเนินการ
- ความสามารถในการทำงานร่วมกัน: ในแอปไฮบริด การทดสอบจะโต้ตอบกับองค์ประกอบทั้งแบบ Compose และแบบ View ได้อย่างราบรื่น รวมถึงผสานรวมกับเฟรมเวิร์กการทดสอบอื่นๆ
เคล็ดลับการทดสอบ
ดูข้อมูลสรุปเกี่ยวกับการทดสอบเพื่อดูภาพรวมของหัวข้อสำคัญทั้งหมดที่คุณควรเรียนรู้เกี่ยวกับการทดสอบใน Compose
ตั้งค่า
ตั้งค่าแอปเพื่อทดสอบโค้ดการเขียน
ก่อนอื่น ให้เพิ่มการพึ่งพาต่อไปนี้ลงในไฟล์ build.gradle
ของข้อบังคับที่มีชุดทดสอบ UI
// Test rules and transitive dependencies:
androidTestImplementation("androidx.compose.ui:ui-test-junit4:$compose_version")
// Needed for createComposeRule(), but not for createAndroidComposeRule<YourActivity>():
debugImplementation("androidx.compose.ui:ui-test-manifest:$compose_version")
โมดูลนี้มี ComposeTestRule
และการใช้งานสําหรับ Android ที่ชื่อ AndroidComposeTestRule
กฎนี้ช่วยให้คุณตั้งค่าการเขียนเนื้อหาหรือเข้าถึงกิจกรรมได้ คุณสร้างกฎโดยใช้ฟังก์ชันการสร้าง createComposeRule
หรือcreateAndroidComposeRule
หากต้องการเข้าถึงกิจกรรม การทดสอบ UI ทั่วไปสำหรับ Compose จะมีลักษณะดังนี้
// file: app/src/androidTest/java/com/package/MyComposeTest.kt
class MyComposeTest {
@get:Rule val composeTestRule = createComposeRule()
// use createAndroidComposeRule<YourActivity>() if you need access to
// an activity
@Test
fun myTest() {
// Start the app
composeTestRule.setContent {
MyAppTheme {
MainScreen(uiState = fakeUiState, /*...*/)
}
}
composeTestRule.onNodeWithText("Continue").performClick()
composeTestRule.onNodeWithText("Welcome").assertIsDisplayed()
}
}
แหล่งข้อมูลเพิ่มเติม
- ทดสอบแอปใน Android: หน้า Landing Page หลักของการทดสอบ Android ให้มุมมองที่กว้างขึ้นเกี่ยวกับพื้นฐานและเทคนิคการทดสอบ
- หลักพื้นฐานของการทดสอบ: ดูข้อมูลเพิ่มเติมเกี่ยวกับแนวคิดหลักเบื้องหลังการทดสอบแอป Android
- การทดสอบในเครื่อง: คุณทำการทดสอบบางอย่างในเครื่องได้บนเวิร์กสเตชันของคุณเอง
- การทดสอบที่มีเครื่องมือ: แนวทางปฏิบัติที่ดีคือทำการทดสอบแบบมีเครื่องวัดด้วย กล่าวคือ การทดสอบที่ทํางานในอุปกรณ์โดยตรง
- การรวมอย่างต่อเนื่อง: การรวมอย่างต่อเนื่องช่วยให้คุณผสานรวมการทดสอบเข้ากับไปป์ไลน์การนำส่งได้
- ทดสอบหน้าจอขนาดต่างๆ: สำหรับอุปกรณ์บางรุ่นที่มีให้บริการแก่ผู้ใช้ คุณควรทดสอบขนาดหน้าจอที่แตกต่างกัน
- Espresso: แม้ว่าความรู้จะมีไว้สำหรับ UI ที่อิงตามการดู แต่ความรู้เกี่ยวกับ Espresso จะยังคงเป็นประโยชน์ในบางแง่มุมของการทดสอบ Compose
Codelab
ดูข้อมูลเพิ่มเติมได้ใน Codelab การทดสอบ Jetpack Compose
ตัวอย่าง
Android 16 เบต้า 1 พร้อมให้ใช้งานแล้ว ดูข้อมูลเกี่ยวกับการเปลี่ยนแปลง API การวางแนวและการปรับขนาดได้ใน Android 16 ดูว่ามีอะไรใหม่ใน CameraX 1.4.0 อ่านข้อมูลทั้งหมดเกี่ยวกับเวอร์ชันตัวอย่างสำหรับนักพัฒนา Android XR SDK ดูข้อมูลล่าสุดเกี่ยวกับพาสคีย์ ตัวอย่างสำหรับนักพัฒนาแอปครั้งแรกของ Android 16 การอัปเดต Gemini ใน Android Studio และผลการแข่งขัน Gemini API ฟัง #TheAndroidShow ตอนนี้เลย: อัปเดตเกี่ยวกับ Gemini ใน Android Studio, การเผยแพร่ Android SDK ที่ถี่ขึ้น และอีกมากมาย ในรายการรายไตรมาสนี้ เราจะถ่ายทอดสดจาก Droidcon ในลอนดอน ซึ่งเราจะเปิดตัวการอัปเดตครั้งใหญ่ที่สุดของ Gemini ใน Android Studio นับตั้งแต่เปิดตัว รวมถึงแสดงตัวอย่างของ Jetpack Compose และอีกมากมาย ดูวิธีเริ่มต้นใช้งาน Use Case ของ AI ในอุปกรณ์โดยใช้ Gemini Nano ซึ่งพร้อมให้ทดลองใช้กับ AI Edge SDK ผ่าน AICore แล้ว Android 15 พร้อมใช้งานใน AOSP แล้ว ข้อมูลล่าสุดเกี่ยวกับอุปกรณ์แบบพับได้และอุปกรณ์ที่สวมใส่ได้ ลงทะเบียนเข้าร่วมการแข่งขัน Gemini API ข้อมูลล่าสุดเกี่ยวกับอุปกรณ์แบบพับได้และอุปกรณ์ที่สวมใส่ได้ ลงทะเบียนเข้าร่วมการแข่งขัน Gemini API ดูวิธีที่นักพัฒนาแอป Android สร้างแอปพรีเมียมคุณภาพเยี่ยมโดยใช้ฟีเจอร์ล่าสุดของ Android ในสรุป Google I/O ครั้งล่าสุด เราจะพูดถึงอัปเดตที่สำคัญที่สุดจาก Google Play ในสรุป Google I/O ฉบับที่ 3 เราจะพูดถึง Compose ในอุปกรณ์ทุกรูปแบบ ซึ่งรวมถึงโทรศัพท์ แท็บเล็ต WearOS และทีวี ในงาน Google I/O เราได้เปิดตัววิสัยทัศน์ของ Android เวอร์ชันใหม่ที่ใช้ AI เป็นหัวใจ ในอีก 4 สัปดาห์ข้างหน้า เราจะสรุปประกาศที่สำคัญที่สุดจาก Google I/O เกี่ยวกับการพัฒนา Android โดยเริ่มจากการช่วยให้คุณสร้างแอปที่ยอดเยี่ยม 15 สิ่งน่ารู้สำหรับนักพัฒนาแอป Android ที่ Google I/O Google I/O จะเริ่มขึ้นในวันพรุ่งนี้ด้วยคําปราศรัยแบบสตรีมแบบสดเวลา 10:00 น. ตามเขตเวลาแปซิฟิก และเรายินดีที่จะแชร์ข้อมูลอัปเดตล่าสุดเกี่ยวกับ Android, การสาธิต, Codelab และอื่นๆ Gemini ใน Android Studio (เดิมคือ Studio Bot) พร้อมให้ความช่วยเหลือคุณ Android is back at Google I/O Tune in to #TheAndroidShow Join us on March 7 at 10AM PT for another episode of #TheAndroidShow! The First Developer Preview of Android 15 We released Gemini, our most capable AI model yet. Learn more about how we’re making it easier for you to start building Android apps that leverage generative AI. As we approach the end of 2023, I wanted to take a moment to reflect on all that we've accomplished together as a community, and send a huge *thank you* for all of your work!เบต้ารุ่นแรกของ Android 16
เจาะลึกสัปดาห์ Spotlight: กล้องและสื่อ
ขอแนะนำ Android XR
สัปดาห์ส่องแสง: เจาะลึกพาสคีย์
#TheAndroidShow: ดูรายการเลย!
ติดตาม #TheAndroidShow
สัปดาห์ส่องแสง: AI ใน Android
Android 15
24 สิงหาคม
กรกฎาคม 2024
วิธีที่นักพัฒนาแอป 5 คนสร้างแอปที่ยอดเยี่ยมด้วย Android
I/O Spotlight - Play
I/O Spotlight - Compose ในทุกรูปแบบของอุปกรณ์
I/O Spotlight - การสร้างด้วย AI ใน Android
I/O Spotlight - การสร้างแอปที่ยอดเยี่ยม
สรุป I/O 2024
เข้าร่วมกับ Android ที่ Google I/O
เมษายน 2024
March 2024
Watch the #TheAndroidShow
#TheAndroidShow Teaser
February 2024
A new foundation for AI on Android
December 2023
ไม่มีคำแนะนำในขณะนี้
ลองลงชื่อเข้าใช้บัญชี Google