এসপ্রেসো টেস্ট রেকর্ডার টুল আপনাকে কোনো পরীক্ষার কোড না লিখেই আপনার অ্যাপের জন্য UI পরীক্ষা তৈরি করতে দেয়। একটি পরীক্ষার দৃশ্য রেকর্ড করার মাধ্যমে, আপনি একটি ডিভাইসের সাথে আপনার মিথস্ক্রিয়া রেকর্ড করতে পারেন এবং আপনার অ্যাপের নির্দিষ্ট স্ন্যাপশটে UI উপাদানগুলি যাচাই করতে দাবী যোগ করতে পারেন। এসপ্রেসো টেস্ট রেকর্ডার তারপর সংরক্ষিত রেকর্ডিং নেয় এবং স্বয়ংক্রিয়ভাবে একটি সংশ্লিষ্ট UI পরীক্ষা তৈরি করে যা আপনি আপনার অ্যাপ পরীক্ষা করতে চালাতে পারেন।
এসপ্রেসো টেস্ট রেকর্ডার এসপ্রেসো টেস্টিং ফ্রেমওয়ার্কের উপর ভিত্তি করে পরীক্ষা লেখে, অ্যান্ড্রয়েডএক্স টেস্টের একটি এপিআই। Espresso API আপনাকে ব্যবহারকারীর কর্মের উপর ভিত্তি করে সংক্ষিপ্ত এবং নির্ভরযোগ্য UI পরীক্ষা তৈরি করতে উৎসাহিত করে। অন্তর্নিহিত অ্যাপের ক্রিয়াকলাপ এবং দৃশ্যগুলিতে সরাসরি অ্যাক্সেস না করেই প্রত্যাশা, মিথস্ক্রিয়া এবং দাবিগুলি উল্লেখ করে, এই কাঠামোটি পরীক্ষার ফ্লিকনেস প্রতিরোধ করে এবং পরীক্ষা চালানোর গতিকে অপ্টিমাইজ করে।
আপনার পরীক্ষা ডিভাইসে অ্যানিমেশন বন্ধ করুন
এসপ্রেসো টেস্ট রেকর্ডার ব্যবহার করার আগে, অপ্রত্যাশিত ফলাফল এড়াতে আপনার পরীক্ষা ডিভাইসে অ্যানিমেশন বন্ধ করে দিন। এসপ্রেসো সেটআপ নির্দেশাবলী অনুসরণ করুন, তবে মনে রাখবেন যে আপনাকে এসপ্রেসো লাইব্রেরিতে ম্যানুয়ালি একটি নির্ভরতা রেফারেন্স সেট করার দরকার নেই কারণ আপনি যখন রেকর্ডিং সংরক্ষণ করেন তখন টেস্ট রেকর্ডার স্বয়ংক্রিয়ভাবে এটি করে। এই পদক্ষেপগুলি শুধুমাত্র একটি প্রদত্ত প্রকল্পের জন্য একবার করা প্রয়োজন।
একটি এসপ্রেসো পরীক্ষা রেকর্ড করুন
এসপ্রেসো পরীক্ষা দুটি প্রাথমিক উপাদান নিয়ে গঠিত: UI মিথস্ক্রিয়া এবং ভিউ এলিমেন্টের দাবি। UI ইন্টারঅ্যাকশনের মধ্যে ট্যাপ এবং টাইপ অ্যাকশন অন্তর্ভুক্ত থাকে যা একজন ব্যক্তি আপনার অ্যাপের সাথে ইন্টারঅ্যাক্ট করতে ব্যবহার করতে পারেন। দাবী পর্দায় ভিজ্যুয়াল উপাদানের অস্তিত্ব বা বিষয়বস্তু যাচাই করে। উদাহরণস্বরূপ, নোট টেস্টিং অ্যাপের জন্য একটি এসপ্রেসো পরীক্ষা একটি বোতামে ক্লিক করার জন্য এবং একটি নতুন নোট লেখার জন্য UI মিথস্ক্রিয়া অন্তর্ভুক্ত করতে পারে তবে বোতামের অস্তিত্ব এবং নোটের বিষয়বস্তু যাচাই করার জন্য দাবী ব্যবহার করবে।
এই বিভাগে এসপ্রেসো টেস্ট রেকর্ডার ব্যবহার করে কীভাবে এই দুটি পরীক্ষার উপাদান তৈরি করা যায়, সেইসাথে পরীক্ষা তৈরি করার জন্য আপনার সমাপ্ত রেকর্ডিং কীভাবে সংরক্ষণ করা যায় তা নিয়ে আলোচনা করা হবে।
UI মিথস্ক্রিয়া রেকর্ড করুন
এসপ্রেসো টেস্ট রেকর্ডার দিয়ে একটি পরীক্ষা রেকর্ড করা শুরু করতে, নিম্নরূপ এগিয়ে যান:
- রান > রেকর্ড এসপ্রেসো টেস্টে ক্লিক করুন।
- ডিপ্লয়মেন্ট টার্গেট নির্বাচন করুন উইন্ডোতে, আপনি যে ডিভাইসে পরীক্ষাটি রেকর্ড করতে চান সেটি বেছে নিন। প্রয়োজনে একটি নতুন Android ভার্চুয়াল ডিভাইস তৈরি করুন । ওকে ক্লিক করুন।
- Espresso Test Recorder আপনার প্রোজেক্টের একটি বিল্ড ট্রিগার করে, এবং Espresso Test Recorder আপনাকে এটির সাথে ইন্টারঅ্যাক্ট করার অনুমতি দেওয়ার আগে অ্যাপটিকে অবশ্যই ইনস্টল এবং লঞ্চ করতে হবে। অ্যাপটি চালু হওয়ার পরে আপনার পরীক্ষা রেকর্ড করুন উইন্ডোটি উপস্থিত হয় এবং যেহেতু আপনি এখনও ডিভাইসের সাথে ইন্টারঅ্যাক্ট করেননি, তাই প্রধান প্যানেলে লেখা আছে "এখনও কোনো ঘটনা রেকর্ড করা হয়নি।" লগিং ইভেন্ট যেমন "ট্যাপ" এবং "টাইপ" অ্যাকশন শুরু করতে আপনার ডিভাইসের সাথে ইন্টারঅ্যাক্ট করুন।
দ্রষ্টব্য : আপনি লগিং ইন্টারঅ্যাকশন শুরু করার আগে, আপনি আপনার ডিভাইসে একটি ডায়ালগ দেখতে পারেন যা বলে "ডিবাগারের জন্য অপেক্ষা করা হচ্ছে" বা "ডিবাগার সংযুক্ত করা হচ্ছে।" এসপ্রেসো টেস্ট রেকর্ডার UI ইভেন্ট লগ করার জন্য ডিবাগার ব্যবহার করে। ডিবাগার সংযুক্ত হলে, ডায়ালগ স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যাবে; ফোর্স ক্লোজ হিট করবেন না।
রেকর্ড করা ইন্টারঅ্যাকশনগুলি আপনার পরীক্ষা রেকর্ড করুন উইন্ডোতে প্রধান প্যানেলে প্রদর্শিত হবে, যেমনটি নীচের চিত্র 1-এ দেখানো হয়েছে। আপনি যখন পরীক্ষা চালাবেন, এসপ্রেসো পরীক্ষা একই ক্রমে এই ক্রিয়াগুলি চালানোর চেষ্টা করবে।
![](https://developer.android.com/static/studio/images/test/espresso-test-recorder-window_2-2_2x.png?authuser=4&hl=bn)
চিত্র 1. লগ করা UI ইন্টারঅ্যাকশন সহ আপনার পরীক্ষার উইন্ডো রেকর্ড করুন ।
UI উপাদান যাচাই করতে দাবী যোগ করুন
দাবী তিনটি প্রধান ধরনের মাধ্যমে একটি ভিউ উপাদানের অস্তিত্ব বা বিষয়বস্তু যাচাই করে:
- পাঠ্য হল : নির্বাচিত ভিউ উপাদানের পাঠ্য বিষয়বস্তু পরীক্ষা করে
- বিদ্যমান : পর্দায় দৃশ্যমান বর্তমান ভিউ অনুক্রমে ভিউ উপাদান উপস্থিত রয়েছে কিনা তা পরীক্ষা করে
- বিদ্যমান নেই : বর্তমান ভিউ অনুক্রমে ভিউ উপাদানটি উপস্থিত নেই কিনা তা পরীক্ষা করে
আপনার পরীক্ষায় একটি দাবী যোগ করতে, নিম্নরূপ এগিয়ে যান:
- অ্যাসার্শন যোগ করুন ক্লিক করুন। একটি স্ক্রিন ক্যাপচার ডায়ালগ উপস্থিত হয় যখন Espresso UI অনুক্রম এবং বর্তমান অ্যাপের অবস্থা সম্পর্কে অন্যান্য তথ্য পায়। এসপ্রেসো স্ক্রিনশটটি ক্যাপচার করলে ডায়ালগটি স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায়।
- আপনার পরীক্ষা রেকর্ড করুন উইন্ডোর ডানদিকে একটি প্যানেলে বর্তমান পর্দার একটি বিন্যাস প্রদর্শিত হবে। একটি ভিউ উপাদান নির্বাচন করতে যেখানে একটি দাবী তৈরি করতে হবে, স্ক্রিনশটের উপাদানটিতে ক্লিক করুন বা উইন্ডোর নীচের এডিট অ্যাসারশন বাক্সে প্রথম ড্রপ-ডাউন মেনুটি ব্যবহার করুন৷ নির্বাচিত ভিউ অবজেক্টটি একটি লাল বাক্সে হাইলাইট করা হয়েছে।
- দাবী সম্পাদনা বাক্সের দ্বিতীয় ড্রপ-ডাউন মেনু থেকে আপনি যে দাবিটি ব্যবহার করতে চান তা নির্বাচন করুন। এসপ্রেসো নির্বাচিত ভিউ এলিমেন্টের জন্য বৈধ দাবী সহ মেনুকে পপুলেট করে।
- আপনি যদি "টেক্সট ইজ" দাবী নির্বাচন করেন, এসপ্রেসো স্বয়ংক্রিয়ভাবে নির্বাচিত ভিউ উপাদানের ভিতরে পাঠ্যটি সন্নিবেশিত করে। আপনি এডিট অ্যাসারশন বক্সে টেক্সট ফিল্ড ব্যবহার করে আপনার কাঙ্খিত দাবির সাথে মেলে লেখাটি সম্পাদনা করতে পারেন।
- অন্য একটি দাবী তৈরি করতে সংরক্ষণ করুন এবং আরেকটি যোগ করুন ক্লিক করুন অথবা দাবী প্যানেলগুলি বন্ধ করতে সেভ অ্যাসারশন ক্লিক করুন।
চিত্র 2-এর স্ক্রিনশটটি দেখায় যে নোটের শিরোনাম হল "হ্যাপি টেস্টিং!" যাচাই করার জন্য একটি "টেক্সট ইজ" দাবী তৈরি করা হচ্ছে:
![](https://developer.android.com/static/studio/images/test/espresso-test-recorder-assertion_2-2_2x.png?authuser=4&hl=bn)
চিত্র 2. একটি ভিউ এলিমেন্ট নির্বাচন করার পর এডিট অ্যাসারশন বক্স (লাল রঙে)।
একটি দাবী তৈরি করার সময়, আপনি আপনার অ্যাপের সাথে ইন্টারঅ্যাক্ট করা চালিয়ে যেতে পারেন, এমনকি আপনার পরীক্ষা রেকর্ড করুন উইন্ডোতে দাবী প্যানেলগুলি খোলা থাকা সত্ত্বেও। এসপ্রেসো টেস্ট রেকর্ডার আপনার ক্রিয়াগুলি লগ করা চালিয়ে যাবে, তবে আপনি যে দাবি সম্পাদনা করছেন তা সংরক্ষিত হয়ে গেলে এই মিথস্ক্রিয়াগুলির আগে উপস্থিত হবে। দাবীর জন্য স্ক্রিনশটটি সেই লেআউটটিকেও ধরে রাখে যেটি ডিভাইস বা এমুলেটরটিতে আপনি অ্যাসারশন বোতামটি চাপার সময় ছিল।
একটি রেকর্ডিং সংরক্ষণ করুন
একবার আপনি আপনার অ্যাপের সাথে ইন্টারঅ্যাক্ট করা এবং দাবী যোগ করা শেষ করে, আপনার রেকর্ডিং সংরক্ষণ করতে এবং এসপ্রেসো পরীক্ষা তৈরি করতে নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করুন:
- সম্পূর্ণ রেকর্ডিং ক্লিক করুন। আপনার পরীক্ষার উইন্ডোর জন্য একটি পরীক্ষা শ্রেণীর নাম চয়ন করুন ।
- এসপ্রেসো টেস্ট রেকর্ডার আপনার পরীক্ষাটি চালু করা কার্যকলাপের নামের উপর ভিত্তি করে তার প্যাকেজের মধ্যে একটি অনন্য নাম দেয়। আপনি যদি প্রস্তাবিত নাম পরিবর্তন করতে চান তবে টেস্ট ক্লাসের নামের পাঠ্য ক্ষেত্রটি ব্যবহার করুন। Save এ ক্লিক করুন।
- আপনি যদি আপনার অ্যাপে এসপ্রেসো নির্ভরতা যোগ না করে থাকেন, আপনি যখন আপনার পরীক্ষা সংরক্ষণ করার চেষ্টা করেন তখন একটি অনুপস্থিত এসপ্রেসো নির্ভরতা ডায়ালগ উপস্থিত হয়। আপনার
build.gradle
ফাইলে স্বয়ংক্রিয়ভাবে নির্ভরতা যোগ করতে হ্যাঁ ক্লিক করুন।
- আপনি যদি আপনার অ্যাপে এসপ্রেসো নির্ভরতা যোগ না করে থাকেন, আপনি যখন আপনার পরীক্ষা সংরক্ষণ করার চেষ্টা করেন তখন একটি অনুপস্থিত এসপ্রেসো নির্ভরতা ডায়ালগ উপস্থিত হয়। আপনার
- এসপ্রেসো টেস্ট রেকর্ডার এটি তৈরি করার পরে ফাইলটি স্বয়ংক্রিয়ভাবে খোলে এবং অ্যান্ড্রয়েড স্টুডিও IDE-এর প্রজেক্ট উইন্ডোতে নির্বাচিত পরীক্ষার ক্লাস দেখায়।
- পরীক্ষাটি কোথায় সংরক্ষণ করা হবে তা নির্ভর করে আপনার ইন্সট্রুমেন্টেশন টেস্ট রুটের অবস্থান, সেইসাথে চালু হওয়া কার্যকলাপের প্যাকেজ নামের উপর। উদাহরণ স্বরূপ, নোট টেস্টিং অ্যাপের পরীক্ষাগুলি src > androidTest > java > com.example.username.appname ফোল্ডারে সংরক্ষণ করুন যেটিতে আপনি পরীক্ষাটি রেকর্ড করেছেন৷
স্থানীয়ভাবে একটি এসপ্রেসো পরীক্ষা চালান
এসপ্রেসো পরীক্ষা চালানোর জন্য, প্রকল্পটি ব্যবহার করুন অ্যান্ড্রয়েড স্টুডিও আইডিই-এর বাম দিকের উইন্ডো:
- পছন্দসই অ্যাপ মডিউল ফোল্ডারটি খুলুন এবং আপনি যে পরীক্ষা চালাতে চান তাতে নেভিগেট করুন। পরীক্ষার অবস্থান নির্ভর করে আপনার ইন্সট্রুমেন্টেশন টেস্ট রুটের অবস্থান এবং লঞ্চ করা কার্যকলাপের প্যাকেজ নামের উপর। নিম্নলিখিত উদাহরণগুলি দেখায় যে নোট টেস্টিং অ্যাপের জন্য একটি পরীক্ষা কোথায় সংরক্ষণ করবে:
- আপনি যদি উইন্ডোর মধ্যে অ্যান্ড্রয়েড ভিউ ব্যবহার করেন তবে java > com.example.username.appname (androidTest) এ নেভিগেট করুন।
- আপনি যদি উইন্ডোর ভিতরে প্রজেক্ট ভিউ ব্যবহার করেন, তাহলে মডিউল ফোল্ডারের মধ্যে src > androidTest > java > com.example.username.appname- এ নেভিগেট করুন।
- পরীক্ষার উপর রাইট-ক্লিক করুন এবং Run 'testName'-এ ক্লিক করুন।
- বিকল্পভাবে, আপনি পরীক্ষা ফাইলটি খুলতে পারেন এবং জেনারেট করা পরীক্ষার ক্লাস বা পদ্ধতিতে ডান-ক্লিক করতে পারেন। টেস্ট ইউর অ্যাপ পৃষ্ঠায় কীভাবে পরীক্ষা চালানো যায় সে সম্পর্কে আরও পড়ুন।
- ডিপ্লয়মেন্ট টার্গেট নির্বাচন করুন উইন্ডোতে, আপনি যে ডিভাইসে পরীক্ষা চালাতে চান সেটি বেছে নিন। প্রয়োজনে একটি নতুন Android ভার্চুয়াল ডিভাইস তৈরি করুন । ওকে ক্লিক করুন।
IDE এর নীচে রান উইন্ডোতে আপনার পরীক্ষার অগ্রগতি নিরীক্ষণ করুন। অ্যান্ড্রয়েড স্টুডিও আপনার প্রোজেক্টের একটি সম্পূর্ণ বিল্ড চালায় এবং রান উইন্ডোতে আপনার পরীক্ষার নাম সহ একটি ট্যাব খোলে, যেমনটি চিত্র 3-এ দেখানো হয়েছে। আপনি এই ট্যাবে আপনার পরীক্ষা পাস বা ব্যর্থ হয়েছে কিনা, সেইসাথে পরীক্ষা কতক্ষণ চলবে তা পরীক্ষা করতে পারেন। চালানোর জন্য নিয়েছে। পরীক্ষা শেষ হলে, ট্যাবটি লগ করবে "Tests ran to completion।"
![](https://developer.android.com/static/studio/images/test/run-window-espresso-test_2-2-preview-7_2x.png?authuser=4&hl=bn)
চিত্র 3 । স্থানীয়ভাবে এসপ্রেসো পরীক্ষা চালানোর পরে রান উইন্ডোতে নমুনা আউটপুট।
পরীক্ষা চালানোর কনফিগারেশন লেখার বিষয়ে আরও জানতে, রান/ডিবাগ কনফিগারেশন তৈরি করুন এবং সম্পাদনা করুন- এ "একটি ক্লাস বা পদ্ধতির জন্য একটি পরীক্ষা কনফিগারেশন সংজ্ঞায়িত করা" বিভাগটি পড়ুন।
অ্যান্ড্রয়েডের জন্য ফায়ারবেস টেস্ট ল্যাবের সাথে একটি এসপ্রেসো পরীক্ষা চালান
আপনি শত শত ডিভাইস কনফিগারেশনে ক্লাউডে আপনার অ্যাপটি পরীক্ষা করতে Firebase টেস্ট ল্যাবের সাথে Espresso টেস্ট রেকর্ডার দ্বারা জেনারেট করা পরীক্ষাগুলি ব্যবহার করতে পারেন। স্পার্ক প্ল্যানে বিনামূল্যে দৈনিক কোটার মধ্যে টেস্ট ল্যাবের মাধ্যমে আপনার অ্যাপ পরীক্ষা করার জন্য কোনো চার্জ নেই। ফায়ারবেস টেস্ট ল্যাবের সাথে এসপ্রেসো পরীক্ষা চালানোর জন্য, আপনার অ্যাপের জন্য একটি ফায়ারবেস প্রকল্প তৈরি করুন এবং তারপরে Android স্টুডিও থেকে Firebase টেস্ট ল্যাবের মাধ্যমে আপনার পরীক্ষা চালানোর নির্দেশাবলী অনুসরণ করুন।
![](https://developer.android.com/static/images/training/ctl-test-results.png?authuser=4&hl=bn)
চিত্র 4 । একাধিক ডিভাইসে ফায়ারবেস টেস্ট ল্যাবের সাথে একটি পরীক্ষা চালানোর পরে রান উইন্ডোতে নমুনা আউটপুট।