এসপ্রেসো টেস্ট রেকর্ডার টুল আপনাকে কোনও পরীক্ষা কোড না লিখেই আপনার অ্যাপের জন্য UI পরীক্ষা তৈরি করতে দেয়। একটি পরীক্ষার দৃশ্যকল্প রেকর্ড করে, আপনি একটি ডিভাইসের সাথে আপনার মিথস্ক্রিয়া রেকর্ড করতে পারেন এবং আপনার অ্যাপের নির্দিষ্ট স্ন্যাপশটে UI উপাদানগুলি যাচাই করার জন্য দাবি যোগ করতে পারেন। এসপ্রেসো টেস্ট রেকর্ডার তারপর সংরক্ষিত রেকর্ডিং নেয় এবং স্বয়ংক্রিয়ভাবে একটি সংশ্লিষ্ট UI পরীক্ষা তৈরি করে যা আপনি আপনার অ্যাপটি পরীক্ষা করার জন্য চালাতে পারেন।
এসপ্রেসো টেস্ট রেকর্ডার, এসপ্রেসো টেস্টিং ফ্রেমওয়ার্কের উপর ভিত্তি করে পরীক্ষা লেখে, যা অ্যান্ড্রয়েডএক্স টেস্টের একটি এপিআই। এসপ্রেসো এপিআই আপনাকে ব্যবহারকারীর ক্রিয়াকলাপের উপর ভিত্তি করে সংক্ষিপ্ত এবং নির্ভরযোগ্য ইউআই পরীক্ষা তৈরি করতে উৎসাহিত করে। অন্তর্নিহিত অ্যাপের কার্যকলাপ এবং ভিউ সরাসরি অ্যাক্সেস না করেই প্রত্যাশা, মিথস্ক্রিয়া এবং দাবিগুলি উল্লেখ করে, এই কাঠামোটি পরীক্ষার অস্থিরতা রোধ করে এবং পরীক্ষা চালানোর গতি অপ্টিমাইজ করে।
আপনার পরীক্ষামূলক ডিভাইসে অ্যানিমেশন বন্ধ করুন
এসপ্রেসো টেস্ট রেকর্ডার ব্যবহার করার আগে, অপ্রত্যাশিত ফলাফল এড়াতে আপনার টেস্ট ডিভাইসে অ্যানিমেশন বন্ধ করে রাখুন। এসপ্রেসো সেটআপ নির্দেশাবলী অনুসরণ করুন, তবে মনে রাখবেন যে আপনাকে এসপ্রেসো লাইব্রেরিতে ম্যানুয়ালি একটি নির্ভরতা রেফারেন্স সেট করার প্রয়োজন নেই কারণ টেস্ট রেকর্ডার যখন আপনি একটি রেকর্ডিং সংরক্ষণ করেন তখন এটি স্বয়ংক্রিয়ভাবে করে। একটি নির্দিষ্ট প্রকল্পের জন্য এই পদক্ষেপগুলি কেবল একবার করা প্রয়োজন।
একটি এসপ্রেসো পরীক্ষা রেকর্ড করুন
এসপ্রেসো পরীক্ষা দুটি প্রাথমিক উপাদান নিয়ে গঠিত: UI ইন্টারঅ্যাকশন এবং ভিউ এলিমেন্টের উপর দাবি। UI ইন্টারঅ্যাকশনের মধ্যে ট্যাপ এবং টাইপ অ্যাকশন অন্তর্ভুক্ত থাকে যা একজন ব্যক্তি আপনার অ্যাপের সাথে যোগাযোগ করতে ব্যবহার করতে পারেন। দাবিগুলি স্ক্রিনে ভিজ্যুয়াল এলিমেন্টের অস্তিত্ব বা বিষয়বস্তু যাচাই করে। উদাহরণস্বরূপ, নোটস টেস্টিং অ্যাপের জন্য একটি এসপ্রেসো পরীক্ষায় একটি বোতামে ক্লিক করার এবং একটি নতুন নোট লেখার জন্য UI ইন্টারঅ্যাকশন অন্তর্ভুক্ত থাকতে পারে তবে বোতামের অস্তিত্ব এবং নোটের বিষয়বস্তু যাচাই করার জন্য দাবিগুলি ব্যবহার করা হবে।
এই বিভাগে এসপ্রেসো টেস্ট রেকর্ডার ব্যবহার করে এই দুটি পরীক্ষার উপাদান কীভাবে তৈরি করবেন, সেই সাথে পরীক্ষাটি তৈরি করার জন্য আপনার সমাপ্ত রেকর্ডিং কীভাবে সংরক্ষণ করবেন তা আলোচনা করা হবে।
UI ইন্টারঅ্যাকশন রেকর্ড করুন
এসপ্রেসো টেস্ট রেকর্ডার দিয়ে একটি পরীক্ষা রেকর্ডিং শুরু করতে, নিম্নলিখিতভাবে এগিয়ে যান:
- রান > রেকর্ড এসপ্রেসো টেস্ট ক্লিক করুন।
- Select Deployment Target উইন্ডোতে, আপনি যে ডিভাইসে পরীক্ষাটি রেকর্ড করতে চান তা নির্বাচন করুন। প্রয়োজনে, একটি নতুন Android Virtual Device তৈরি করুন । OK ক্লিক করুন।
- Espresso Test Recorder আপনার প্রোজেক্টের একটি বিল্ড ট্রিগার করে, এবং Espresso Test Recorder আপনাকে এর সাথে ইন্টারঅ্যাক্ট করার অনুমতি দেওয়ার আগে অ্যাপটি ইনস্টল এবং চালু করতে হবে। অ্যাপটি চালু হওয়ার পরে " Record Your Test" উইন্ডোটি প্রদর্শিত হবে এবং যেহেতু আপনি এখনও ডিভাইসের সাথে ইন্টারঅ্যাক্ট করেননি, তাই প্রধান প্যানেলে "No events recorded yet" লেখা থাকবে। "ট্যাপ" এবং "টাইপ" অ্যাকশনের মতো ইভেন্টগুলি লগ করা শুরু করতে আপনার ডিভাইসের সাথে ইন্টারঅ্যাক্ট করুন।
দ্রষ্টব্য : ইন্টারঅ্যাকশন লগ করা শুরু করার আগে, আপনার ডিভাইসে "Waiting for Debugger" অথবা "Attaching Debugger" লেখা একটি ডায়ালগ দেখতে পাবেন। Espresso Test Recorder UI ইভেন্ট লগ করার জন্য ডিবাগার ব্যবহার করে। ডিবাগার সংযুক্ত হলে, ডায়ালগটি স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যাবে; Force Close টিপবেন না।
রেকর্ড করা ইন্টারঅ্যাকশনগুলি "আপনার পরীক্ষা রেকর্ড করুন" উইন্ডোর প্রধান প্যানেলে প্রদর্শিত হবে, যেমনটি নীচের চিত্র 1-এ দেখানো হয়েছে। যখন আপনি পরীক্ষাটি চালাবেন, তখন এসপ্রেসো পরীক্ষা একই ক্রমে এই ক্রিয়াগুলি সম্পাদন করার চেষ্টা করবে।

চিত্র ১. লগ করা UI ইন্টারঅ্যাকশন সহ আপনার পরীক্ষা উইন্ডো রেকর্ড করুন ।
UI উপাদান যাচাই করার জন্য দাবি যোগ করুন
দাবিগুলি তিনটি প্রধান ধরণের মাধ্যমে একটি ভিউ উপাদানের অস্তিত্ব বা বিষয়বস্তু যাচাই করে:
- text হল : নির্বাচিত View এলিমেন্টের টেক্সট কন্টেন্ট পরীক্ষা করে।
- বিদ্যমান : স্ক্রিনে দৃশ্যমান বর্তমান ভিউ অনুক্রমের মধ্যে ভিউ উপাদানটি উপস্থিত আছে কিনা তা পরীক্ষা করে।
- বিদ্যমান নেই : বর্তমান ভিউ হায়ারার্কিতে ভিউ এলিমেন্টটি উপস্থিত নেই কিনা তা পরীক্ষা করে।
আপনার পরীক্ষায় একটি দাবি যোগ করতে, নিম্নলিখিতভাবে এগিয়ে যান:
- Add Assertion এ ক্লিক করুন। Espresso যখন UI অনুক্রম এবং বর্তমান অ্যাপের অবস্থা সম্পর্কে অন্যান্য তথ্য পাবে তখন একটি Screen Capture ডায়ালগ প্রদর্শিত হবে। Espresso স্ক্রিনশট ক্যাপচার করার পরে ডায়ালগটি স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যাবে।
- "রেকর্ড ইওর টেস্ট " উইন্ডোর ডানদিকে একটি প্যানেলে বর্তমান স্ক্রিনের একটি লেআউট প্রদর্শিত হবে। একটি ভিউ উপাদান নির্বাচন করতে যেখানে একটি অ্যাসারশন তৈরি করা হবে, স্ক্রিনশটের উপাদানটিতে ক্লিক করুন অথবা উইন্ডোর নীচে "এডিট অ্যাসারশন" বাক্সের প্রথম ড্রপ-ডাউন মেনুটি ব্যবহার করুন। নির্বাচিত ভিউ বস্তুটি একটি লাল বাক্সে হাইলাইট করা হয়েছে।
- Edit assertion বক্সের দ্বিতীয় ড্রপ-ডাউন মেনু থেকে আপনি যে assertion ব্যবহার করতে চান তা নির্বাচন করুন। Espresso নির্বাচিত View উপাদানের জন্য বৈধ assertion দিয়ে মেনুটি পূরণ করে।
- যদি আপনি "টেক্সট হল" অ্যাসারশনটি বেছে নেন, তাহলে এসপ্রেসো স্বয়ংক্রিয়ভাবে নির্বাচিত ভিউ এলিমেন্টের ভিতরে বর্তমানে থাকা টেক্সটটি সন্নিবেশ করাবে। আপনি "এডিট অ্যাসারশন" বাক্সের টেক্সট ফিল্ড ব্যবহার করে আপনার পছন্দসই অ্যাসারশনের সাথে মেলে টেক্সটটি সম্পাদনা করতে পারেন।
- আরেকটি অ্যাসারশন তৈরি করতে Save এবং Add Another এ ক্লিক করুন অথবা অ্যাসারশন প্যানেল বন্ধ করতে Save Assertion এ ক্লিক করুন।
চিত্র ২-এর স্ক্রিনশটে দেখা যাচ্ছে যে নোটের শিরোনাম "হ্যাপি টেস্টিং!" কিনা তা যাচাই করার জন্য একটি "টেক্সট ইজ" দাবি তৈরি করা হচ্ছে:

চিত্র ২। একটি ভিউ এলিমেন্ট নির্বাচন করার পরে সম্পাদনা দাবি বাক্স (লাল রঙে)।
একটি অ্যাসারশন তৈরি করার সময়, আপনি আপনার অ্যাপের সাথে ইন্টারঅ্যাক্ট করা চালিয়ে যেতে পারেন, এমনকি "রেকর্ড ইওর টেস্ট" উইন্ডোতে অ্যাসারশন প্যানেলগুলি খোলা থাকা সত্ত্বেও। এসপ্রেসো টেস্ট রেকর্ডার আপনার অ্যাকশনগুলি রেকর্ড করতে থাকবে, তবে আপনি যে অ্যাসারশনটি সম্পাদনা করছেন তা সংরক্ষণ করার পরে এই ইন্টারঅ্যাকশনগুলির আগে উপস্থিত হবে। অ্যাসারশনের স্ক্রিনশটটি আপনি অ্যাড অ্যাসারশন বোতামটি টিপানোর সময় ডিভাইস বা এমুলেটরের যে লেআউট ছিল তাও ধরে রাখে।
একটি রেকর্ডিং সংরক্ষণ করুন
আপনার অ্যাপের সাথে ইন্টারঅ্যাক্ট করা এবং অ্যাসারশন যোগ করা শেষ হয়ে গেলে, আপনার রেকর্ডিং সংরক্ষণ করতে এবং এসপ্রেসো পরীক্ষা তৈরি করতে নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করুন:
- Complete Recording এ ক্লিক করুন। আপনার পরীক্ষার জন্য একটি পরীক্ষা শ্রেণীর নাম নির্বাচন করুন উইন্ডোটি প্রদর্শিত হবে।
- এসপ্রেসো টেস্ট রেকর্ডার আপনার পরীক্ষাকে তার প্যাকেজের মধ্যে চালু করা কার্যকলাপের নামের উপর ভিত্তি করে একটি অনন্য নাম দেয়। প্রস্তাবিত নাম পরিবর্তন করতে চাইলে টেস্ট ক্লাসের নাম টেক্সট ফিল্ড ব্যবহার করুন। সংরক্ষণ করুন এ ক্লিক করুন।
- যদি আপনি আপনার অ্যাপে Espresso নির্ভরতা যোগ না করে থাকেন, তাহলে আপনার পরীক্ষা সংরক্ষণ করার চেষ্টা করার সময় একটি Missing Espresso নির্ভরতা ডায়ালগ প্রদর্শিত হবে। আপনার
build.gradleফাইলে স্বয়ংক্রিয়ভাবে নির্ভরতা যোগ করতে Yes এ ক্লিক করুন।
- যদি আপনি আপনার অ্যাপে Espresso নির্ভরতা যোগ না করে থাকেন, তাহলে আপনার পরীক্ষা সংরক্ষণ করার চেষ্টা করার সময় একটি Missing Espresso নির্ভরতা ডায়ালগ প্রদর্শিত হবে। আপনার
- এসপ্রেসো টেস্ট রেকর্ডার তৈরি করার পর ফাইলটি স্বয়ংক্রিয়ভাবে খোলে এবং অ্যান্ড্রয়েড স্টুডিও IDE-এর প্রজেক্ট উইন্ডোতে নির্বাচিত টেস্ট ক্লাসটি দেখায়।
- পরীক্ষাটি কোথায় সংরক্ষণ করা হবে তা নির্ভর করে আপনার ইন্সট্রুমেন্টেশন টেস্ট রুটের অবস্থানের উপর, সেইসাথে চালু করা কার্যকলাপের প্যাকেজ নামের উপর। উদাহরণস্বরূপ, নোটস টেস্টিং অ্যাপের পরীক্ষাগুলি আপনি যে অ্যাপ মডিউলে পরীক্ষাটি রেকর্ড করেছেন তার src > androidTest > java > com.example.username.appname ফোল্ডারে সংরক্ষণ করুন।
স্থানীয়ভাবে একটি এসপ্রেসো পরীক্ষা চালান
একটি এসপ্রেসো পরীক্ষা চালানোর জন্য, প্রকল্পটি ব্যবহার করুন
অ্যান্ড্রয়েড স্টুডিও আইডিই-এর বাম দিকের উইন্ডো:
- পছন্দসই অ্যাপ মডিউল ফোল্ডারটি খুলুন এবং আপনি যে পরীক্ষাটি চালাতে চান তাতে নেভিগেট করুন। পরীক্ষার অবস্থান আপনার ইন্সট্রুমেন্টেশন টেস্ট রুটের অবস্থান এবং চালু হওয়া কার্যকলাপের প্যাকেজ নামের উপর নির্ভর করে। নিম্নলিখিত উদাহরণগুলি দেখায় যে নোটস টেস্টিং অ্যাপের জন্য একটি পরীক্ষা কোথায় সংরক্ষণ করবে:
- যদি আপনি উইন্ডোর মধ্যে অ্যান্ড্রয়েড ভিউ ব্যবহার করেন, তাহলে java > com.example.username.appname (androidTest) এ যান।
- যদি আপনি উইন্ডোর ভিতরে প্রজেক্ট ভিউ ব্যবহার করেন, তাহলে মডিউল ফোল্ডারের মধ্যে src > androidTest > java > com.example.username.appname এ যান।
- পরীক্ষায় ডান-ক্লিক করুন এবং 'testName' চালান এ ক্লিক করুন।
- বিকল্পভাবে, আপনি পরীক্ষা ফাইলটি খুলতে পারেন এবং তৈরি করা পরীক্ষা ক্লাস বা পদ্ধতিতে ডান-ক্লিক করতে পারেন। পরীক্ষা চালানোর পদ্ধতি সম্পর্কে আরও পড়ুন "আপনার অ্যাপ পরীক্ষা করুন" পৃষ্ঠায়।
- Select Deployment Target উইন্ডোতে, আপনি যে ডিভাইসে পরীক্ষা চালাতে চান তা নির্বাচন করুন। প্রয়োজনে, একটি নতুন Android Virtual Device তৈরি করুন । OK ক্লিক করুন।
IDE-এর নীচের Run উইন্ডোতে আপনার পরীক্ষার অগ্রগতি পর্যবেক্ষণ করুন। Android Studio আপনার প্রকল্পের একটি সম্পূর্ণ বিল্ড চালায় এবং Run উইন্ডোতে আপনার পরীক্ষার নাম সহ একটি ট্যাব খোলে, যেমন চিত্র 3-এ দেখানো হয়েছে। আপনি এই ট্যাবে আপনার পরীক্ষাটি পাস করেছে কিনা তা পরীক্ষা করতে পারেন, সেইসাথে পরীক্ষাটি চালাতে কত সময় লেগেছে তাও পরীক্ষা করতে পারেন। পরীক্ষা শেষ হলে, ট্যাবটি "পরীক্ষাগুলি সম্পন্ন হয়েছে" লগ করবে।

চিত্র ৩. স্থানীয়ভাবে একটি এসপ্রেসো পরীক্ষা চালানোর পরে রান উইন্ডোতে নমুনা আউটপুট।
টেস্ট রান কনফিগারেশন লেখা সম্পর্কে আরও জানতে, রান/ডিবাগ কনফিগারেশন তৈরি এবং সম্পাদনা করুন বিভাগে "একটি ক্লাস বা পদ্ধতির জন্য একটি টেস্ট কনফিগারেশন সংজ্ঞায়িত করা" বিভাগটি পড়ুন।
অ্যান্ড্রয়েডের জন্য ফায়ারবেস টেস্ট ল্যাব দিয়ে একটি এসপ্রেসো পরীক্ষা চালান
আপনি Firebase Test Lab- এর সাথে Espresso Test Recorder-এর তৈরি পরীক্ষাগুলি ব্যবহার করে শত শত ডিভাইস কনফিগারেশনে ক্লাউডে আপনার অ্যাপটি পরীক্ষা করতে পারেন। Spark প্ল্যানে বিনামূল্যে দৈনিক কোটার মধ্যে Test Lab-এর সাথে আপনার অ্যাপটি পরীক্ষা করার জন্য কোনও চার্জ নেই। Firebase Test Lab-এর সাথে Espresso পরীক্ষা চালানোর জন্য, আপনার অ্যাপের জন্য একটি Firebase প্রকল্প তৈরি করুন এবং তারপরে Android Studio থেকে Firebase Test Lab-এর সাথে আপনার পরীক্ষাগুলি চালানোর নির্দেশাবলী অনুসরণ করুন।

চিত্র ৪. একাধিক ডিভাইসে Firebase Test Lab দিয়ে পরীক্ষা চালানোর পরে রান উইন্ডোতে নমুনা আউটপুট।