Robo test হল একটি টেস্টিং টুল যা Firebase Test Lab-এর সাথে ইন্টিগ্রেট করা আছে। আপনার অ্যাপের ইউজার ইন্টারফেস (UI)-এর গঠন বিশ্লেষণ করে Robo টেস্ট এবং তারপরে ব্যবহারকারীর অ্যাক্টিভিটি অটোমেটিক সিমুলেট করে পদ্ধতিগতভাবে এটি এক্সপ্লোর করে। Robo test একই সেটিংস সহ নির্দিষ্ট ডিভাইস কনফিগারেশনে কোনও অ্যাপ পরীক্ষা করার জন্য ব্যবহার করলে এটি সবসময় একই ক্রমে একই ব্যবহারকারীর অ্যাক্টিভিটি সিমুলেট করে। এই পুনরাবৃত্তিযোগ্য টেস্টিং অ্যাপ্রোচ আপনাকে বাগ ফিক্স যাচাই করতে এবং রিগ্রেশন টেস্ট করতে Robo টেস্ট ব্যবহার করতে দেয়।
রোবো টেস্ট লগ ফাইল ক্যাপচার করে, অ্যানোটেশন সহ স্ক্রিনশটের একটি সিরিজ সেভ করে এবং তারপরে সেইসব স্ক্রিনশট থেকে একটি ভিডিও তৈরি করে আপনাকে সিমুলেটেড ব্যবহারকারীর অপারেশন দেখায় যা এটি পারফর্ম করেছে। এইসব লগ, স্ক্রিনশট ও ভিডিও আপনাকে অ্যাপ ক্র্যাশ হওয়ার মূল কারণ নির্ধারণ করতে সাহায্য করতে পারে। এছাড়াও, এই রোবো টেস্ট ফিচারগুলি আপনার অ্যাপের UI সংক্রান্ত সমস্যা খুঁজে পেতে সাহায্য করতে পারে।
নিয়মিত রোবো টেস্ট চালানোর পাশাপাশি, আপনি রোবো স্ক্রিপ্ট ব্যবহার করে নিজের টেস্ট কাস্টমাইজ করতে পারবেন। রোবো স্ক্রিপ্ট হল রোবো টেস্টের একটি ফিচার। আরও জানতে, Robo স্ক্রিপ্ট রান করানো দেখুন।
iOS+-এর জন্য Robo-র বিটা ভার্সন ব্যবহার করে দেখতে চাইলে, Robo টেস্ট রান করুন দেখুন।
রোবট টেস্ট ক্রল পরিসংখ্যান
আপনার রোবো টেস্টের ফলাফল বুঝতে সাহায্য করতে, প্রতিটি টেস্ট ক্রলের সময় রোবো টেস্ট রেকর্ড পরিসংখ্যান। Test Lab আপনার পরীক্ষার ফলাফল পৃষ্ঠায় Robo টেস্ট ট্যাবের সবচেয়ে উপরে পরিসংখ্যান দেখায়:
অ্যাকশন: ক্রল করার সময় সম্পাদিত অ্যাকশনের মোট সংখ্যা, এর মধ্যে রোবো স্ক্রিপ্ট অ্যাকশন, মাঙ্কি অ্যাকশন ও রোবো নির্দেশাবলী অন্তর্ভুক্ত।
অ্যাক্টিভিটি: ক্রল করার সময় কভার করা আলাদা আলাদা অ্যাক্টিভিটির সংখ্যা।
স্ক্রিন: ক্রল করার সময় দেখা আলাদা আলাদা স্ক্রিনের সংখ্যা।
Test Lab এছাড়াও, ক্রল গ্রাফের মাধ্যমে Robo test-এর ভিজ্যুয়াল উপস্থাপনা তৈরি করতে পরিসংখ্যান ব্যবহার করে। গ্রাফের নোড হিসেবে স্ক্রিন এবং এজ হিসেবে অ্যাকশন থাকে। স্ক্রিনের প্রান্তগুলি অনুসরণ করে, আপনি এই বিষয়ে ধারণা পেতে পারেন যে ক্রল করার সময় কীভাবে Robo টেস্ট আপনার অ্যাপে ঘুরে বেড়িয়েছে।
রোবো টেস্ট টাইমআউট
আপনার অ্যাপের UI যত জটিল হবে, Robo টেস্টের UI ইন্টার্যাকশনের একটি পুঙ্খানুপুঙ্খ সেট সম্পূর্ণ করতে
পাঁচ মিনিট বা তার বেশি সময় লাগতে পারে। আমরা
বেশিরভাগ অ্যাপের জন্য টেস্ট টাইমআউট অন্তত ১২০ সেকেন্ড (২ মিনিট) এবং মাঝারি
জটিল অ্যাপের জন্য ৩০০ সেকেন্ড (৫ মিনিট) সেট করার পরামর্শ দিই। Android Studio এবং
Firebase কনসোল থেকে রান করা পরীক্ষার জন্য টাইমআউটের ডিফল্ট ভ্যালু
৩০০ সেকেন্ড (৫ মিনিট) এবং
gcloud কমান্ড লাইন থেকে রান করা পরীক্ষার জন্য ৯০০ সেকেন্ড (১৫ মিনিট)।
অ্যাপ চালু করার সময় টাইম-আউট সংক্রান্ত সমস্যা
আপনার অ্যাপ চালু হতে অনেক সময় লাগলে, রোবো টেস্ট একটি সমস্যা দেখাতে পারে এবং আপনার অ্যাপ ক্রল করতে পারবে না। এটি শুধুমাত্র অত্যন্ত দীর্ঘ স্টার্ট-আপ টাইমের ক্ষেত্রে ঘটে এবং আপনার অ্যাপ দ্রুত চালু করার জন্য সেটি সংশোধন করলেই এই সমস্যার সমাধান করা যেতে পারে।
Robo স্ক্রিপ্টের মাধ্যমে আরও নিয়ন্ত্রণ
কখনও কখনও আপনার পরীক্ষার উপর আরও নিয়ন্ত্রণ প্রয়োজন হয়। যেমন, আপনি সাধারণ ব্যবহারকারীর জার্নি পরীক্ষা করতে বা ইউজারনেম ও পাসওয়ার্ডের মতো নির্দিষ্ট UI ইনপুট দিতে চাইতে পারেন। রোবো স্ক্রিপ্ট সাহায্য করতে পারে। Robo স্ক্রিপ্ট সম্পর্কে আরও জানতে, Robo স্ক্রিপ্ট রান করান এবং Robo স্ক্রিপ্ট রেফারেন্স গাইড দেখুন।
রোবো টেস্ট ও Android নয় এমন UI উইজেট
Android UI উইজেটে সরাসরি অ্যাকশন পারফর্ম করতে Robo টেস্ট Android API ব্যবহার করে। এটি টেস্টগুলিকে আপনার UI অটোমেটিক এক্সপ্লোর করতে সাহায্য করে, কিন্তু এর অর্থ হল সেগুলিকে কোনও স্ক্রিনের জন্য Android UI হায়ারার্কি এক্সট্র্যাক্ট করতে হবে তবেই সেটির উপর টেস্ট চালানো যাবে।
আপনার অ্যাপের কোনও স্ক্রিনে Android UI উইজেট ব্যবহার করা না হলে, সেই স্ক্রিন পরীক্ষা করার জন্য Robo পরীক্ষা Monkey অ্যাকশন ব্যবহার করে। আরও বেশি পদ্ধতিগত রোবো টেস্ট অ্যাকশনের বিপরীতে, মঙ্কি অ্যাকশন শুধুমাত্র ডিভাইসের স্ক্রিনে আধা-র্যান্ডম লোকেশনগুলিতে ট্যাপ ইভেন্ট সিমুলেট করে।
Android UI উইজেট ব্যবহার করে না এমন স্ক্রিন আরও ভালোভাবে পরীক্ষা করতে, আপনি স্ক্রিপ্ট করা ট্যাপ ও ইন্টার্যাকশনের একটি সেটের সাথে Firebase Test Lab গেম লুপ টেস্টের মাধ্যমে Monkey অ্যাকশনের নির্বিচারে ট্যাপ করার বিকল্প পরিবর্তন করতে পারেন।
Google Play-এর সাথে ইন্টিগ্রেশন
আপনি Google Play Console-এ রোবট টেস্ট ব্যবহার করতে পারবেন, যখন আপনি আলফা বা বিটা চ্যানেল ব্যবহার করে আপনার অ্যাপের APK ফাইল আপলোড এবং প্রকাশ করেন। Robo টেস্ট বিভিন্ন ভৌগোলিক লোকেশন থেকে পাওয়া জনপ্রিয় ফিজিক্যাল ডিভাইসের একটি সেটে রান করে, যা বিভিন্ন ফর্ম ফ্যাক্টর ও হার্ডওয়্যার কনফিগারেশন জুড়ে টেস্ট কভারেজ প্রদান করে। আরও জানতে, সমস্যা শনাক্ত করতে প্রি-লঞ্চ রিপোর্ট ব্যবহার করুন দেখুন।
টেস্ট অ্যাকাউন্টে সাইন-ইন করা এবং পূর্বনির্ধারিত টেক্সট ইনপুট করা
রোবো টেস্ট, টেস্ট অ্যাকাউন্টে সাইন-ইন করার সুবিধা দেয় এবং আপনার অ্যাপের ফিল্ডে আগে থেকে সংজ্ঞায়িত
টেক্সট লেখার অনুমতিও দেয়। কাস্টম সাইন-ইন ও আগে থেকে সংজ্ঞায়িত অন্যান্য টেক্সট
ইনপুটের জন্য, রোবো টেস্ট আপনার অ্যাপের
EditText
ফিল্ডে টেক্সট লিখতে পারে। প্রতিটি স্ট্রিংয়ের জন্য, আপনাকে Android রিসোর্স নাম ব্যবহার করে EditText ফিল্ড
শনাক্ত করতে হবে। আরও জানতে, রিসোর্স অ্যাক্সেস করা দেখুন।
প্রবেশ করুন
সাইন-ইন করার জন্য রোবো টেস্টে দুটি পারস্পরিক-এক্সক্লুসিভ পদ্ধতি আছে:
কাস্টম সাইন-ইন: আপনি টেস্ট অ্যাকাউন্টের ক্রেডেনশিয়াল দিলে, আপনাকে Robo test-কে বলতে হবে যে সেগুলি কোথায় লিখতে হবে এবং সেই ক্রেডেনশিয়ালও দিতে হবে।
অটোমেটিক সাইন-ইন: কাস্টম সাইন-ইনের জন্য আপনি টেস্ট অ্যাকাউন্টের ক্রেডেনশিয়াল না দিলে, অটোমেটিক সাইন-ইন ব্যবহার করা হয়। স্ট্যান্ডার্ড Android উইজেট বা কম্পোজ অ্যাপ্লিকেশন দিয়ে তৈরি করা অ্যাপে রোবো টেস্ট অটোমেটিক সাইন-ইন করতে পারে। এটি Google টেস্ট অ্যাকাউন্ট ব্যবহার করে।
কাস্টম সাইন-ইনের জন্য টেস্ট অ্যাকাউন্টের ক্রেডেনশিয়াল দিতে, নিম্নলিখিত কাজগুলি করুন:
ডায়মেনশন বেছে নিন পৃষ্ঠায়, অতিরিক্ত বিকল্প বেছে নিন।
টেস্ট অ্যাকাউন্ট ক্রেডেনশিয়াল (ঐচ্ছিক) বিকল্পের অধীনে, ইউজারনেম ও পাসওয়ার্ড রিসোর্স নেম এবং টেস্ট অ্যাকাউন্টের ইউজারনেম ও পাসওয়ার্ড লিখুন।
পূর্বনির্ধারিত টেক্সট ইনপুট
আপনার অ্যাপের ব্যবহার করা অন্যান্য টেক্সট ফিল্ডের জন্য আপনি কাস্টম ইনপুট টেক্সট প্রদান করতে পারবেন। অতিরিক্ত ফিল্ডের জন্য টেক্সট ইনপুট প্রদান করতে, নিম্নলিখিত কাজগুলি করুন:
ডায়মেনশন বেছে নিন পৃষ্ঠায়, অতিরিক্ত বিকল্প বেছে নিন।
অতিরিক্ত ফিল্ড (ঐচ্ছিক) বিকল্পের অধীনে, এক বা একাধিক রিসোর্সের নাম এবং সংশ্লিষ্ট টেক্সট ফিল্ডে লেখার জন্য স্ট্রিং লিখুন।
পূর্বনির্ধারিত টেক্সট ইনপুট {:#predefined-text} সংক্রান্ত সমস্যা
রোবো টেস্ট EditText ফিল্ডে Android রিসোর্স নাম সার্চ করে যা
সাপ্লাই করা রেগুলার এক্সপ্রেশনের সাথে ম্যাচ করে। Robo কোনও ম্যাচিং ফিল্ড খুঁজে না পেলে,
আপনার টেক্সট ইনপুট করে না, তবে অন্যথায় এটি স্বাভাবিকভাবেই ক্রল করা চালিয়ে যায়।
ডিপ লিঙ্ক
পরীক্ষা করার জন্য আপনার অ্যাপে কাজ করে এমন সর্বাধিক তিনটি ডিপ লিঙ্ক
আপনি দিতে পারেন।
ডিপ লিঙ্ক আপনার অ্যাপে Android
ACTION_VIEW
ইনটেন্ট হিসেবে ইস্যু করা হয়। তাই, প্রতিটি লিঙ্ককে আপনার অ্যাপের ইনটেন্ট ফিল্টারের সাথে ম্যাচ করতে হবে।
এক বা একাধিক ডিপ লিঙ্ক প্রদান করা হলে, অ্যাপটি প্রথমে
সাধারণভাবে (ইন্টেন্ট
ACTION_MAIN
ব্যবহার করে) লঞ্চ করা হয় এবং নির্দিষ্ট টাইম-আউট পর্যন্ত ক্রল করা হয়। মূল ক্রল করার পরে, প্রতিটি ডিপ
লিঙ্ক অতিরিক্ত ৩০ সেকেন্ড করে ক্রল করা হয়।
ডিপ লিঙ্ক সংক্রান্ত সমস্যা
আপনার ডিপ লিঙ্কের সাথে ম্যাচ করে এমন কোনও অ্যাক্টিভিটি রোবো টেস্ট খুঁজে না পেলে, Test Lab লিঙ্কটি উপেক্ষা করে। ডিপ লিঙ্ক সংক্রান্ত সমস্যা সাধারণত প্রদান করা ডিপ লিঙ্ক এবং আপনার অ্যাপে সেটির সংজ্ঞা মধ্যে থাকা অসঙ্গতির কারণে হয়। প্রদান করা URL এবং আপনার অ্যাপ, দু'টিই বানান ভুল বা অন্যান্য অসঙ্গতির জন্য চেক করুন।
অ্যাপ লাইসেন্সিং সংক্রান্ত সহায়তা
Test Lab Google Play-এর অফার করা অ্যাপ লাইসেন্সিং পরিষেবা ব্যবহার করে এমন অ্যাপে কাজ করে। Test Lab-এর সাথে আপনার অ্যাপ পরীক্ষা করার সময় লাইসেন্স সঠিকভাবে চেক করতে, আপনাকে অবশ্যই Play Store-এ প্রোডাকশন চ্যানেলে আপনার অ্যাপ প্রকাশ করতে হবে। Test Lab ব্যবহার করে আলফা বা বিটা চ্যানেলে আপনার অ্যাপ পরীক্ষা করতে, Test Lab-এ অ্যাপ আপলোড করার আগে লাইসেন্স চেক সরিয়ে দিন।
পরবর্তী ধাপ
- Robo স্ক্রিপ্ট ব্যবহার করে আপনার পরীক্ষা কাস্টমাইজ করুন।