Espresso সেট-আপ করার নির্দেশাবলী

এই গাইডে SDK Manager ব্যবহার করে Espresso ইনস্টল করা এবং Gradle ব্যবহার করে এটি তৈরি করার ব্যাপারে আলোচনা করা হয়েছে। Android Studio সাজেস্ট করা হচ্ছে।

আপনার টেস্ট এনভায়রনমেন্ট সেট-আপ করা

ফ্লেকিনেস এড়াতে, আমরা আপনাকে টেস্টিংয়ের জন্য ব্যবহৃত ভার্চুয়াল বা ফিজিক্যাল ডিভাইসে সিস্টেম অ্যানিমেশন বন্ধ করার জন্য বিশেষভাবে সাজেস্ট করি। আপনার ডিভাইসে, সেটিংস > ডেভেলপার বিকল্প-এর মধ্যে, নিম্নলিখিত ৩টি সেটিংস বন্ধ করুন:

  • উইন্ডো অ্যানিমেশন স্কেল
  • ট্র্যানজিশন অ্যানিমেশন স্কেল
  • অ্যানিমেটর সময়কাল স্কেল

Espresso ডিপেন্ডেন্সি যোগ করুন

আপনার প্রোজেক্টে Espresso ডিপেন্ডেন্সি যোগ করতে, নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:

  1. আপনার অ্যাপের build.gradle ফাইল খুলুন। এটি সাধারণত টপ-লেভেল build.gradle ফাইল নয়, বরং app/build.gradle।
  2. dependencies-এর মধ্যে নিম্নলিখিত লাইনগুলি যোগ করুন:

গ্ৰুভি

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-এ যোগ করুন:

গ্ৰুভি

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()))
    }
}

জাভা

@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