এই গাইডে SDK Manager ব্যবহার করে Espresso ইনস্টল করা এবং Gradle ব্যবহার করে এটি তৈরি করার ব্যাপারে আলোচনা করা হয়েছে। Android Studio সাজেস্ট করা হচ্ছে।
আপনার টেস্ট এনভায়রনমেন্ট সেট-আপ করা
ফ্লেকিনেস এড়াতে, আমরা আপনাকে টেস্টিংয়ের জন্য ব্যবহৃত ভার্চুয়াল বা ফিজিক্যাল ডিভাইসে সিস্টেম অ্যানিমেশন বন্ধ করার জন্য বিশেষভাবে সাজেস্ট করি। আপনার ডিভাইসে, সেটিংস > ডেভেলপার বিকল্প-এর মধ্যে, নিম্নলিখিত ৩টি সেটিংস বন্ধ করুন:
- উইন্ডো অ্যানিমেশন স্কেল
- ট্র্যানজিশন অ্যানিমেশন স্কেল
- অ্যানিমেটর সময়কাল স্কেল
Espresso ডিপেন্ডেন্সি যোগ করুন
আপনার প্রোজেক্টে Espresso ডিপেন্ডেন্সি যোগ করতে, নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:
- আপনার অ্যাপের
build.gradleফাইল খুলুন। এটি সাধারণত টপ-লেভেলbuild.gradleফাইল নয়, বরংapp/build.gradle। - 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-তে টেস্ট কনফিগারেশন তৈরি করতে, নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:
- রান > কনফিগারেশন এডিট করুন বিকল্প খুলুন।
- নতুন Android টেস্ট কনফিগারেশন যোগ করুন।
- একটি মডিউল বেছে নিন।
- নির্দিষ্ট ইন্সট্রুমেন্টেশন রানার যোগ করুন:
androidx.test.runner.AndroidJUnitRunner - নতুন তৈরি করা কনফিগারেশন রান করুন।
কমান্ড লাইন থেকে
নিম্নলিখিত Gradle কমান্ড এক্সিকিউট করুন:
./gradlew connectedAndroidTest