এসপ্রেসো

সংক্ষিপ্ত, সুন্দর এবং নির্ভরযোগ্য Android UI পরীক্ষা লিখতে Espresso ব্যবহার করুন।

নিম্নলিখিত কোড স্নিপেট একটি এসপ্রেসো পরীক্ষার একটি উদাহরণ দেখায়:

কোটলিন

@Test
fun greeterSaysHello() {
    onView(withId(R.id.name_field)).perform(typeText("Steve"))
    onView(withId(R.id.greet_button)).perform(click())
    onView(withText("Hello Steve!")).check(matches(isDisplayed()))
}

জাভা

@Test
public void greeterSaysHello() {
    onView(withId(R.id.name_field)).perform(typeText("Steve"));
    onView(withId(R.id.greet_button)).perform(click());
    onView(withText("Hello Steve!")).check(matches(isDisplayed()));
}

মূল API ছোট, অনুমানযোগ্য, এবং শিখতে সহজ এবং এখনও কাস্টমাইজেশনের জন্য উন্মুক্ত। এসপ্রেসো বয়লারপ্লেট বিষয়বস্তু, কাস্টম অবকাঠামো, বা অগোছালো বাস্তবায়নের বিশদ বিভ্রান্তি ছাড়াই রাজ্যের প্রত্যাশা, মিথস্ক্রিয়া এবং দাবিগুলি পরীক্ষা করে।

এসপ্রেসো পরীক্ষা সর্বোত্তমভাবে দ্রুত চালানো! এটি আপনাকে আপনার অপেক্ষা, সিঙ্ক, ঘুম এবং পোলগুলিকে পিছনে ফেলে রাখতে দেয় যখন এটি বিশ্রামে থাকে তখন এটি অ্যাপ্লিকেশন UI-তে হেরফের করে এবং জোর দেয়।

লক্ষ্য দর্শক

এসপ্রেসো ডেভেলপারদের লক্ষ্য করে, যারা বিশ্বাস করে যে স্বয়ংক্রিয় পরীক্ষা উন্নয়ন জীবনচক্রের একটি অবিচ্ছেদ্য অংশ। যদিও এটি ব্ল্যাক-বক্স পরীক্ষার জন্য ব্যবহার করা যেতে পারে, এসপ্রেসোর সম্পূর্ণ শক্তিটি যারা পরীক্ষার অধীনে কোডবেসের সাথে পরিচিত তাদের দ্বারা আনলক করা হয়।

সিঙ্ক্রোনাইজেশন ক্ষমতা

প্রতিবার আপনার পরীক্ষা onView() তে আহ্বান করলে, এসপ্রেসো নিম্নলিখিত সিঙ্ক্রোনাইজেশন শর্ত পূরণ না হওয়া পর্যন্ত সংশ্লিষ্ট UI অ্যাকশন বা দাবী করার জন্য অপেক্ষা করে:

  • বার্তা সারিতে এমন কোনো বার্তা নেই যা এসপ্রেসোকে অবিলম্বে প্রক্রিয়া করতে হবে।
  • AsyncTask বর্তমানে একটি টাস্ক কার্যকর করার কোন উদাহরণ নেই।
  • সমস্ত বিকাশকারী-সংজ্ঞায়িত অলস সংস্থান নিষ্ক্রিয়।

এই পরীক্ষাগুলি সম্পাদন করার মাধ্যমে, Espresso যথেষ্ট পরিমাণে সম্ভাবনাকে বাড়িয়ে দেয় যে কোনো নির্দিষ্ট সময়ে শুধুমাত্র একটি UI অ্যাকশন বা দাবী ঘটতে পারে। এই ক্ষমতা আপনাকে আরও নির্ভরযোগ্য এবং নির্ভরযোগ্য পরীক্ষার ফলাফল দেয়।

প্যাকেজ

  • espresso-core - মূল এবং মৌলিক View ম্যাচার, অ্যাকশন এবং দাবী রয়েছে। বেসিক এবং রেসিপি দেখুন।
  • espresso-web - WebView সমর্থনের জন্য সংস্থান রয়েছে।
  • espresso-idling-resource - ব্যাকগ্রাউন্ড কাজের সাথে সিঙ্ক্রোনাইজেশনের জন্য Espresso এর মেকানিজম।
  • espresso-contrib - বাহ্যিক অবদান যাতে DatePicker , RecyclerView এবং Drawer অ্যাকশন, অ্যাক্সেসিবিলিটি চেক এবং CountingIdlingResource রয়েছে।
  • espresso-intents - হারমেটিক পরীক্ষার জন্য বৈধতা এবং অসম্পূর্ণ অভিপ্রায়ের জন্য এক্সটেনশন।
  • espresso-remote - Espresso এর মাল্টি-প্রসেস কার্যকারিতার অবস্থান।

আপনি রিলিজ নোট পড়ে সর্বশেষ সংস্করণ সম্পর্কে আরও জানতে পারেন।

অতিরিক্ত সম্পদ

অ্যান্ড্রয়েড পরীক্ষায় এসপ্রেসো ব্যবহার সম্পর্কে আরও তথ্যের জন্য, নিম্নলিখিত সংস্থানগুলি দেখুন৷

নমুনা