คำแนะนำนี้ครอบคลุมการติดตั้ง Espresso โดยใช้เครื่องมือจัดการ SDK และการสร้างโดยใช้ Gradle เราขอแนะนำให้ใช้ Android Studio
ตั้งค่าสภาพแวดล้อมการทดสอบ
เราขอแนะนำอย่างยิ่งให้ปิดภาพเคลื่อนไหวของระบบในอุปกรณ์เสมือนหรืออุปกรณ์จริงที่ใช้สำหรับการทดสอบเพื่อหลีกเลี่ยงการทดสอบที่ไม่เสถียร ในอุปกรณ์ ให้ปิดใช้การตั้งค่า 3 รายการต่อไปนี้ในการตั้งค่า > ตัวเลือกสำหรับนักพัฒนาแอป
- อัตราการเคลื่อนไหวของหน้าต่าง
- อัตราการเคลื่อนไหวของการเปลี่ยนภาพ
- อัตราความเร็วตามตัวสร้างภาพเคลื่อนไหว
เพิ่มทรัพยากร Dependency ของ Espresso
หากต้องการเพิ่มทรัพยากร Dependency ของ Espresso ลงในโปรเจ็กต์ ให้ทำตามขั้นตอนต่อไปนี้
- เปิดไฟล์
build.gradleของแอป ซึ่งโดยปกติแล้วจะไม่ใช่ไฟล์build.gradleระดับบนสุด แต่จะเป็นapp/build.gradle - เพิ่มบรรทัดต่อไปนี้ภายในทรัพยากร Dependency
ดึงดูด
androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1' androidTestImplementation 'androidx.test:runner:1.6.1' androidTestImplementation 'androidx.test:rules:1.6.1'
Kotlin
androidTestImplementation('androidx.test.espresso:espresso-core:3.6.1') androidTestImplementation('androidx.test:runner:1.6.1') androidTestImplementation('androidx.test:rules:1.6.1')
ดูชุดทรัพยากร Dependency ของ Gradle ทั้งหมด
ตั้งค่าตัวเรียกใช้การวัดคุม
เพิ่มบรรทัดต่อไปนี้ใน android.defaultConfig ลงในไฟล์ build.gradle เดียวกัน
ดึงดูด
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
Kotlin
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
ตัวอย่างไฟล์บิลด์ Gradle
ดึงดูด
plugins { id 'com.android.application' } android { compileSdkVersion 36 defaultConfig { applicationId "com.my.awesome.app" minSdkVersion 23 targetSdkVersion 36 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } } dependencies { androidTestImplementation 'androidx.test:runner:1.6.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1' }
Kotlin
plugins { id("com.android.application") } android { compileSdkVersion(36) defaultConfig { applicationId = "com.my.awesome.app" minSdkVersion(23) targetSdkVersion(36) versionCode = 1 versionName = "1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } } dependencies { androidTestImplementation('androidx.test:runner:1.6.1') androidTestImplementation('androidx.test.espresso:espresso-core:3.6.1') }
Analytics
ตัวเรียกใช้การทดสอบจะรวบรวมข้อมูลวิเคราะห์เพื่อให้แน่ใจว่าเรากำลังดำเนินการไปในทิศทางที่ถูกต้องในแต่ละเวอร์ชันใหม่ โดยเฉพาะอย่างยิ่ง ระบบจะอัปโหลดแฮชของชื่อแพ็กเกจของแอปพลิเคชันที่อยู่ระหว่างการทดสอบสำหรับการเรียกใช้แต่ละครั้ง ซึ่งช่วยให้เราวัดทั้งจำนวนแพ็กเกจที่ไม่ซ้ำกันที่ใช้ Espresso รวมถึงปริมาณการใช้งานได้
หากไม่ต้องการอัปโหลดข้อมูลนี้ คุณสามารถเลือกไม่รับได้โดยใส่อาร์กิวเมนต์ disableAnalytics ในคำสั่งการวัดคุม
adb shell am instrument -e disableAnalytics true
เพิ่มการทดสอบแรก
Android Studio จะสร้างการทดสอบใน src/androidTest/java/com.example.package/ โดยค่าเริ่มต้น
ตัวอย่างการทดสอบ JUnit4 โดยใช้กฎ
Kotlin
@RunWith(AndroidJUnit4::class) @LargeTest class HelloWorldEspressoTest { @get:Rule val activityRule = ActivityScenarioRule(MainActivity::class.java) @Test fun listGoesOverTheFold() { onView(withText("Hello world!")).check(matches(isDisplayed())) } }
Java
@RunWith(AndroidJUnit4.class) @LargeTest public class HelloWorldEspressoTest { @Rule public ActivityScenarioRule<MainActivity> activityRule = new ActivityScenarioRule<>(MainActivity.class); @Test public void listGoesOverTheFold() { onView(withText("Hello world!")).check(matches(isDisplayed())); } }
เรียกใช้การทดสอบ
คุณสามารถเรียกใช้การทดสอบใน Android Studio หรือจากบรรทัดคำสั่ง
ใน Android Studio
หากต้องการสร้างการกำหนดค่าการทดสอบใน Android Studio ให้ทำตามขั้นตอนต่อไปนี้
- เปิดเรียกใช้ > แก้ไขการกำหนดค่า
- เพิ่มการกำหนดค่าการทดสอบ Android ใหม่
- เลือกโมดูล
- เพิ่มตัวเรียกใช้การวัดคุมที่เฉพาะเจาะจง:
androidx.test.runner.AndroidJUnitRunner - เรียกใช้การกำหนดค่าที่สร้างขึ้นใหม่
จากบรรทัดคำสั่ง
เรียกใช้คำสั่ง Gradle ต่อไปนี้
./gradlew connectedAndroidTest