Espresso को सेटअप करने के निर्देश

इस गाइड में, एसडीके मैनेजर का इस्तेमाल करके Espresso को इंस्टॉल करने और Gradle का इस्तेमाल करके इसे बनाने का तरीका बताया गया है. हमारा सुझाव है कि आप Android Studio का इस्तेमाल करें.

अपना टेस्ट एनवायरमेंट सेट अप करना

हमारा सुझाव है कि आप टेस्टिंग के लिए इस्तेमाल किए जा रहे वर्चुअल या फ़िज़िकल डिवाइसों पर, सिस्टम ऐनिमेशन बंद कर दें. इससे, टेस्ट के दौरान ऐप्लिकेशन के क्रैश होने या फ़्रीज़ होने की समस्या से बचा जा सकता है. अपने डिवाइस पर, सेटिंग > डेवलपर के लिए सेटिंग और टूल में जाकर, ये तीन सेटिंग बंद करें:

  • विंडो एनिमेशन स्‍केल
  • ट्रांज़िशन एनिमेशन स्‍केल
  • एनिमेटर अवधि स्केल

Espresso डिपेंडेंसी जोड़ना

अपने प्रोजेक्ट में Espresso डिपेंडेंसी जोड़ने के लिए, यह तरीका अपनाएं:

  1. अपने ऐप्लिकेशन की build.gradle फ़ाइल खोलें. आम तौर पर, यह टॉप-लेवल की build.gradle फ़ाइल नहीं होती, बल्कि app/build.gradle होती है.
  2. dependencies में ये लाइनें जोड़ें:

Groovy

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')

Gradle डिपेंडेंसी का पूरा सेट देखें.

इंस्ट्रुमेंटेशन रनर सेट करना

उसी build.gradle फ़ाइल में, android.defaultConfig में यह लाइन जोड़ें:

Groovy

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

Kotlin

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

Gradle बिल्ड फ़ाइल का उदाहरण

Groovy

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. Run > Edit Configurations खोलें.
  2. Android टेस्ट का नया कॉन्फ़िगरेशन जोड़ें.
  3. कोई मॉड्यूल चुनें.
  4. कोई खास इंस्ट्रुमेंटेशन रनर जोड़ें: androidx.test.runner.AndroidJUnitRunner
  5. नया कॉन्फ़िगरेशन चलाएं.

कमांड लाइन के ज़रिए

यह Gradle कमांड चलाएं:

./gradlew connectedAndroidTest