কম্পোজ সাধারণ পরীক্ষার কাঠামোর সাথে একীভূত হয়।
এসপ্রেসোর সাথে ইন্টারঅপারেবিলিটি
একটি হাইব্রিড অ্যাপে, আপনি কম্পোজ কম্পোজেবল ( AndroidView
কম্পোজেবলের মাধ্যমে) ভিউ হায়ারার্কির ভিতরে কম্পোজ কম্পোনেন্ট এবং কম্পোজ কম্পোজেবলের ভিউ খুঁজে পেতে পারেন।
উভয় প্রকারের সাথে মিল করার জন্য কোন বিশেষ পদক্ষেপের প্রয়োজন নেই। আপনি Espresso এর onView
এর সাথে ভিউ এবং ComposeTestRule
এর সাথে কম্পোজ এলিমেন্টের সাথে মিল রাখেন।
@Test
fun androidViewInteropTest() {
// Check the initial state of a TextView that depends on a Compose state.
Espresso.onView(withText("Hello Views")).check(matches(isDisplayed()))
// Click on the Compose button that changes the state.
composeTestRule.onNodeWithText("Click here").performClick()
// Check the new value.
Espresso.onView(withText("Hello Compose")).check(matches(isDisplayed()))
}
UiAutomator এর সাথে ইন্টারঅপারেবিলিটি
ডিফল্টরূপে, কম্পোজেবলগুলি শুধুমাত্র তাদের সুবিধাজনক বর্ণনাকারী (প্রদর্শিত পাঠ্য, বিষয়বস্তুর বিবরণ ইত্যাদি) দ্বারা UiAutomator থেকে অ্যাক্সেসযোগ্য। আপনি যদি Modifier.testTag
ব্যবহার করে এমন কোনো কম্পোজেবল অ্যাক্সেস করতে চান, তাহলে আপনাকে নির্দিষ্ট কম্পোজেবলের সাবট্রির জন্য শব্দার্থিক সম্পত্তি testTagsAsResourceId
সক্ষম করতে হবে। এই আচরণটি সক্ষম করা কম্পোজেবলগুলির জন্য দরকারী যেগুলির অন্য কোনও অনন্য হ্যান্ডেল নেই, যেমন স্ক্রোলযোগ্য কম্পোজেবল (উদাহরণস্বরূপ, LazyColumn
)।
Modifier.testTag
এর সাথে সমস্ত নেস্টেড কম্পোজেবল UiAutomator থেকে অ্যাক্সেসযোগ্য তা নিশ্চিত করতে আপনার কম্পোজেবল অনুক্রমের উচ্চতায় শুধুমাত্র একবার শব্দার্থিক সম্পত্তি সক্ষম করুন।
Scaffold(
// Enables for all composables in the hierarchy.
modifier = Modifier.semantics {
testTagsAsResourceId = true
}
){
// Modifier.testTag is accessible from UiAutomator for composables nested here.
LazyColumn(
modifier = Modifier.testTag("myLazyColumn")
){
// Content
}
}
Modifier.testTag(tag)
এর সাথে যেকোনও কম্পোজ করা যাবে resourceName
মতো একই tag
ব্যবহার করে By.res(resourceName)
ব্যবহার করে অ্যাক্সেসযোগ্য।
val device = UiDevice.getInstance(getInstrumentation())
val lazyColumn: UiObject2 = device.findObject(By.res("myLazyColumn"))
// Some interaction with the lazyColumn.
অতিরিক্ত সম্পদ
- অ্যান্ড্রয়েডে অ্যাপ পরীক্ষা করুন : প্রধান অ্যান্ড্রয়েড টেস্টিং ল্যান্ডিং পৃষ্ঠাটি পরীক্ষার মৌলিক বিষয় এবং কৌশলগুলির একটি বিস্তৃত দৃশ্য প্রদান করে।
- পরীক্ষার মৌলিক বিষয়গুলি : একটি Android অ্যাপ পরীক্ষা করার পিছনে মূল ধারণাগুলি সম্পর্কে আরও জানুন।
- স্থানীয় পরীক্ষা : আপনি আপনার নিজস্ব ওয়ার্কস্টেশনে স্থানীয়ভাবে কিছু পরীক্ষা চালাতে পারেন।
- ইন্সট্রুমেন্টেড পরীক্ষা : যন্ত্রযুক্ত পরীক্ষা চালানোও ভালো অভ্যাস। অর্থাৎ, যে পরীক্ষাগুলি সরাসরি ডিভাইসে চলে।
- ক্রমাগত ইন্টিগ্রেশন : ক্রমাগত ইন্টিগ্রেশন আপনাকে আপনার পরীক্ষাগুলিকে আপনার স্থাপনার পাইপলাইনে একত্রিত করতে দেয়।
- বিভিন্ন স্ক্রীনের মাপ পরীক্ষা করুন : ব্যবহারকারীদের জন্য উপলব্ধ কিছু অনেক ডিভাইসের সাথে, আপনার বিভিন্ন স্ক্রীন মাপের জন্য পরীক্ষা করা উচিত।
- এসপ্রেসো : ভিউ-ভিত্তিক UI-এর উদ্দেশ্যে, Espresso জ্ঞান এখনও রচনা পরীক্ষার কিছু দিকগুলির জন্য সহায়ক হতে পারে।