วิธีการตั้งค่าเอสเพรสโซ

คำแนะนำนี้ครอบคลุมการติดตั้ง Espresso โดยใช้เครื่องมือจัดการ SDK และการสร้างโดยใช้ Gradle เราขอแนะนำให้ใช้ Android Studio

ตั้งค่าสภาพแวดล้อมการทดสอบ

เราขอแนะนำอย่างยิ่งให้ปิดภาพเคลื่อนไหวของระบบในอุปกรณ์เสมือนหรืออุปกรณ์จริงที่ใช้สำหรับการทดสอบเพื่อหลีกเลี่ยงการทดสอบที่ไม่เสถียร ในอุปกรณ์ ให้ปิดใช้การตั้งค่า 3 รายการต่อไปนี้ในการตั้งค่า > ตัวเลือกสำหรับนักพัฒนาแอป

  • อัตราการเคลื่อนไหวของหน้าต่าง
  • อัตราการเคลื่อนไหวของการเปลี่ยนภาพ
  • อัตราความเร็วตามตัวสร้างภาพเคลื่อนไหว

เพิ่มทรัพยากร Dependency ของ Espresso

หากต้องการเพิ่มทรัพยากร Dependency ของ Espresso ลงในโปรเจ็กต์ ให้ทำตามขั้นตอนต่อไปนี้

  1. เปิดไฟล์ build.gradle ของแอป ซึ่งโดยปกติแล้วจะไม่ใช่ไฟล์ build.gradle ระดับบนสุด แต่จะเป็น app/build.gradle
  2. เพิ่มบรรทัดต่อไปนี้ภายในทรัพยากร 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 ให้ทำตามขั้นตอนต่อไปนี้

  1. เปิดเรียกใช้ > แก้ไขการกำหนดค่า
  2. เพิ่มการกำหนดค่าการทดสอบ Android ใหม่
  3. เลือกโมดูล
  4. เพิ่มตัวเรียกใช้การวัดคุมที่เฉพาะเจาะจง: androidx.test.runner.AndroidJUnitRunner
  5. เรียกใช้การกำหนดค่าที่สร้างขึ้นใหม่

จากบรรทัดคำสั่ง

เรียกใช้คำสั่ง Gradle ต่อไปนี้

./gradlew connectedAndroidTest