একটি Robo পরীক্ষা চালান (Android)

রোবো টেস্ট হল একটি টেস্টিং টুল যা ফায়ারবেস টেস্ট ল্যাবের সাথে একীভূত। রোবো টেস্ট আপনার অ্যাপের ইউজার ইন্টারফেসের (UI) গঠন বিশ্লেষণ করে এবং তারপরে এটি পদ্ধতিগতভাবে অন্বেষণ করে, স্বয়ংক্রিয়ভাবে ব্যবহারকারীর ক্রিয়াকলাপ অনুকরণ করে। আপনি যখন একই সেটিংস সহ একটি নির্দিষ্ট ডিভাইস কনফিগারেশনে একটি অ্যাপ পরীক্ষা করতে এটি ব্যবহার করেন তখন রোবো পরীক্ষা সবসময় একই ব্যবহারকারীর কার্যকলাপকে একই ক্রমে অনুকরণ করে। এই পুনরাবৃত্তিযোগ্য পরীক্ষার পদ্ধতি আপনাকে বাগ ফিক্সগুলি যাচাই করতে এবং রিগ্রেশনের জন্য পরীক্ষা করতে Robo পরীক্ষা ব্যবহার করতে দেয়।

রোবো পরীক্ষা লগ ফাইলগুলি ক্যাপচার করে, টীকাযুক্ত স্ক্রিনশটগুলির একটি সিরিজ সংরক্ষণ করে এবং তারপরে সেই স্ক্রিনশটগুলি থেকে একটি ভিডিও তৈরি করে যাতে এটি সঞ্চালিত ব্যবহারকারীর ক্রিয়াকলাপগুলি আপনাকে দেখায়৷ এই লগ, স্ক্রিনশট এবং ভিডিওগুলি আপনাকে অ্যাপ ক্র্যাশের মূল কারণ নির্ধারণ করতে সাহায্য করতে পারে। এই রোবো পরীক্ষার বৈশিষ্ট্যগুলি আপনাকে আপনার অ্যাপের UI এর সমস্যাগুলি খুঁজে পেতে সহায়তা করতে পারে।

নিয়মিত রোবো পরীক্ষা চালানোর পাশাপাশি, আপনি রোবো স্ক্রিপ্টগুলি ব্যবহার করে আপনার পরীক্ষাগুলি কাস্টমাইজ করতে পারেন, যা রোবো পরীক্ষার একটি বৈশিষ্ট্য। আরও জানতে, একটি রোবো স্ক্রিপ্ট চালান দেখুন।

আপনি যদি iOS+ এর জন্য Robo-এর বিটা সংস্করণ চেষ্টা করতে চান, তাহলে Run a Robo Test দেখুন।

রোবো টেস্ট ক্রল পরিসংখ্যান

আপনার রোবো পরীক্ষার ফলাফল ব্যাখ্যা করতে সাহায্য করার জন্য, রোবো পরীক্ষা প্রতিটি পরীক্ষা ক্রল করার সময় পরিসংখ্যান রেকর্ড করে। টেস্ট ল্যাব আপনার পরীক্ষার ফলাফল পৃষ্ঠায় রোবো পরীক্ষা ট্যাবের শীর্ষে পরিসংখ্যান প্রদর্শন করে:

  • অ্যাকশন: রোবো স্ক্রিপ্ট অ্যাকশন, বানর অ্যাকশন এবং রোবো নির্দেশাবলী সহ ক্রল চলাকালীন সম্পাদিত অ্যাকশনের মোট সংখ্যা।

  • কার্যক্রম: ক্রল চলাকালীন কভার করা স্বতন্ত্র কার্যকলাপের সংখ্যা।

  • স্ক্রিন: ক্রল করার সময় পরিদর্শন করা স্বতন্ত্র স্ক্রীনের সংখ্যা।

টেস্ট ল্যাব একটি ক্রল গ্রাফ আকারে রোবো পরীক্ষার একটি ভিজ্যুয়াল উপস্থাপনা তৈরি করতে পরিসংখ্যান ব্যবহার করে। গ্রাফটির নোড হিসেবে স্ক্রিন এবং প্রান্ত হিসেবে ক্রিয়া রয়েছে। স্ক্রিনগুলির মধ্যে প্রান্তগুলি অনুসরণ করে, আপনি কীভাবে রোবো পরীক্ষাটি ক্রল জুড়ে আপনার অ্যাপটি অতিক্রম করেছে তার একটি ধারণা পেতে পারেন৷

Robo পরীক্ষার সময়সীমা

আপনার অ্যাপের UI এর জটিলতার উপর নির্ভর করে, UI ইন্টারঅ্যাকশনের একটি পুঙ্খানুপুঙ্খ সেট সম্পূর্ণ করতে Robo পরীক্ষায় পাঁচ মিনিট বা তার বেশি সময় লাগতে পারে। আমরা বেশিরভাগ অ্যাপের জন্য পরীক্ষার সময়সীমা কমপক্ষে 120 সেকেন্ড (2 মিনিট) এবং মাঝারি জটিল অ্যাপগুলির জন্য 300 সেকেন্ড (5 মিনিট) সেট করার পরামর্শ দিই। অ্যান্ড্রয়েড স্টুডিও এবং ফায়ারবেস কনসোল থেকে চালানো পরীক্ষার জন্য টাইমআউটের ডিফল্ট মান হল 300 সেকেন্ড (5 মিনিট) এবং gcloud কমান্ড লাইন থেকে চালানো পরীক্ষার জন্য 900 সেকেন্ড (15 মিনিট)।

অ্যাপ স্টার্ট-আপ টাইমআউট ত্রুটি৷

যদি আপনার অ্যাপ শুরু হতে অনেক সময় নেয়, তাহলে রোবো টেস্টে একটি ত্রুটি হতে পারে এবং আপনার অ্যাপ ক্রল করতে পারবে না। এটি শুধুমাত্র অত্যন্ত দীর্ঘ স্টার্ট-আপ সময়ের ক্ষেত্রে ঘটে এবং এটিকে দ্রুত শুরু করার জন্য আপনার অ্যাপটি সংশোধন করেই সমাধান করা যেতে পারে।

Robo স্ক্রিপ্টের সাথে আরও নিয়ন্ত্রণ

কখনও কখনও আপনার পরীক্ষার উপর আরো নিয়ন্ত্রণ প্রয়োজন। উদাহরণস্বরূপ, আপনি একটি সাধারণ ব্যবহারকারীর যাত্রা পরীক্ষা করতে বা ব্যবহারকারীর নাম এবং পাসওয়ার্ডের মতো নির্দিষ্ট UI ইনপুট প্রদান করতে চাইতে পারেন। Robo স্ক্রিপ্ট সাহায্য করতে পারে. রোবো স্ক্রিপ্ট সম্পর্কে আরও জানতে, একটি রোবো স্ক্রিপ্ট চালান এবং রোবো স্ক্রিপ্টের রেফারেন্স গাইড দেখুন।

রোবো পরীক্ষা এবং নন-অ্যান্ড্রয়েড UI উইজেট

রোবো পরীক্ষাগুলি সরাসরি Android UI উইজেটগুলিতে ক্রিয়া সম্পাদন করতে Android API ব্যবহার করে। এটি পরীক্ষাগুলিকে স্বয়ংক্রিয়ভাবে আপনার UI অন্বেষণ করতে সহায়তা করে, তবে এর অর্থ হল যে এটিতে পরীক্ষা চালানোর জন্য তাদের একটি স্ক্রীনের জন্য একটি Android UI শ্রেণিবিন্যাস বের করতে সক্ষম হতে হবে।

যদি আপনার অ্যাপের একটি স্ক্রীন অ্যান্ড্রয়েড UI উইজেট ব্যবহার না করে, তাহলে সেই স্ক্রীনটি পরীক্ষা করার জন্য রোবো পরীক্ষাগুলি মাঙ্কি অ্যাকশনগুলিতে ফিরে আসে। আরো পদ্ধতিগত রোবো পরীক্ষার ক্রিয়াগুলির বিপরীতে, মাঙ্কি অ্যাকশনগুলি কেবল একটি ডিভাইসের স্ক্রিনে আধা-র্যান্ডম অবস্থানে ট্যাপ ইভেন্টগুলি অনুকরণ করে৷

Android UI উইজেটগুলি ব্যবহার করে না এমন স্ক্রিনগুলিকে আরও ভালভাবে পরীক্ষা করার জন্য, আপনি Firebase টেস্ট ল্যাব গেম লুপ টেস্টের মাধ্যমে স্ক্রিপ্টযুক্ত ট্যাপ এবং ইন্টারঅ্যাকশনগুলির একটি সেট দিয়ে একটি মানকি অ্যাকশনের নির্বিচারে ট্যাপগুলি প্রতিস্থাপন করতে পারেন।

Google Play এর সাথে ইন্টিগ্রেশন

আপনি যখন আলফা বা বিটা চ্যানেল ব্যবহার করে আপনার অ্যাপের APK ফাইল আপলোড এবং প্রকাশ করেন তখন আপনি Google Play Console-এ Robo টেস্ট ব্যবহার করতে পারেন। রোবো পরীক্ষা বিভিন্ন ভৌগলিক অবস্থান থেকে জনপ্রিয় শারীরিক ডিভাইসের একটি সেটে চলে, যা বিভিন্ন ফর্ম ফ্যাক্টর এবং হার্ডওয়্যার কনফিগারেশন জুড়ে পরীক্ষার কভারেজ প্রদান করে। আরও জানতে, সমস্যা চিহ্নিত করতে প্রাক-লঞ্চ রিপোর্ট ব্যবহার করুন দেখুন।

অ্যাকাউন্ট সাইন-ইন এবং পূর্বনির্ধারিত পাঠ্য ইনপুট পরীক্ষা করুন

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

সাইন ইন করুন

সাইন-ইন সমর্থন করার জন্য Robo পরীক্ষার দুটি পারস্পরিক-একচেটিয়া পদ্ধতি রয়েছে:

  • কাস্টম সাইন-ইন: আপনি যদি টেস্ট অ্যাকাউন্টের শংসাপত্রগুলি প্রদান করেন, তাহলে আপনাকে সেগুলি কোথায় প্রবেশ করতে হবে তা Robo পরীক্ষাকে জানাতে হবে এবং সেই শংসাপত্রগুলিও প্রদান করতে হবে৷

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

কাস্টম সাইন-ইন করার জন্য পরীক্ষার অ্যাকাউন্টের শংসাপত্র প্রদান করতে, নিম্নলিখিতগুলি করুন:

  1. মাত্রা নির্বাচন করুন পৃষ্ঠায়, অতিরিক্ত বিকল্পগুলি নির্বাচন করুন।

  2. টেস্ট অ্যাকাউন্ট শংসাপত্রের অধীনে (ঐচ্ছিক) , ব্যবহারকারীর নাম এবং পাসওয়ার্ড সম্পদের নাম এবং পরীক্ষার অ্যাকাউন্টের জন্য ব্যবহারকারীর নাম এবং পাসওয়ার্ড লিখুন।

পূর্বনির্ধারিত পাঠ্য ইনপুট

আপনি আপনার অ্যাপ দ্বারা ব্যবহৃত অন্যান্য পাঠ্য ক্ষেত্রের জন্য কাস্টম ইনপুট পাঠ্য প্রদান করতে পারেন। অতিরিক্ত ক্ষেত্রের জন্য পাঠ্য ইনপুট প্রদান করতে, নিম্নলিখিতগুলি করুন:

  1. মাত্রা নির্বাচন করুন পৃষ্ঠায়, অতিরিক্ত বিকল্পগুলি নির্বাচন করুন।

  2. অতিরিক্ত ক্ষেত্র (ঐচ্ছিক) এর অধীনে, এক বা একাধিক সম্পদের নাম লিখুন এবং সংশ্লিষ্ট পাঠ্য ক্ষেত্রে প্রবেশ করার জন্য স্ট্রিংগুলি লিখুন।

পূর্বনির্ধারিত পাঠ্য ইনপুট {:#predefined-text} ত্রুটি

রোবো পরীক্ষা একটি সরবরাহকৃত রেগুলার এক্সপ্রেশনের সাথে মেলে এমন একটি অ্যান্ড্রয়েড রিসোর্স নাম সহ EditText ক্ষেত্রগুলির জন্য অনুসন্ধান করে৷ যদি রোবো একটি মিলিত ক্ষেত্র খুঁজে না পায় তবে এটি আপনার পাঠ্য ইনপুট করে না, তবে অন্যথায় স্বাভাবিকের মতো ক্রল চালিয়ে যায়।

আপনি পরীক্ষার জন্য আপনার অ্যাপ দ্বারা সমর্থিত তিনটি পর্যন্ত গভীর লিঙ্ক প্রদান করতে পারেন। Android ACTION_VIEW অভিপ্রায় হিসাবে আপনার অ্যাপে গভীর লিঙ্কগুলি জারি করা হয়েছে৷ অতএব, প্রতিটি লিঙ্ক আপনার অ্যাপে একটি অভিপ্রায় ফিল্টারের সাথে মেলে।

যদি এক বা একাধিক গভীর লিঙ্ক সরবরাহ করা হয়, অ্যাপটি প্রথমে সাধারণত চালু হয় ( ACTION_MAIN উদ্দেশ্য ব্যবহার করে) এবং নির্দিষ্ট সময়সীমা পর্যন্ত ক্রল করা হয়। প্রধান ক্রল করার পরে, প্রতিটি গভীর লিঙ্ক প্রতিটি অতিরিক্ত 30 সেকেন্ডের জন্য ক্রল করা হয়।

যদি রোবো টেস্ট আপনার ডিপ লিঙ্কের সাথে মেলে এমন একটি কার্যকলাপ খুঁজে না পায়, টেস্ট ল্যাব লিঙ্কটিকে উপেক্ষা করে। ডিপ লিঙ্কের সমস্যাগুলি সাধারণত প্রদত্ত ডিপ লিঙ্ক এবং আপনার অ্যাপে এর সংজ্ঞার মধ্যে পার্থক্যের কারণে হয়। টাইপ ভুল বা অন্যান্য অসঙ্গতির জন্য প্রদত্ত URL এবং আপনার অ্যাপ উভয়ই পরীক্ষা করুন।

অ্যাপ লাইসেন্সিং সমর্থন

টেস্ট ল্যাব এমন অ্যাপগুলিকে সমর্থন করে যেগুলি Google Play দ্বারা প্রদত্ত অ্যাপ লাইসেন্সিং পরিষেবা ব্যবহার করে৷ টেস্ট ল্যাবের মাধ্যমে আপনার অ্যাপ পরীক্ষা করার সময় সফলভাবে লাইসেন্সিং পরীক্ষা করতে, আপনাকে অবশ্যই আপনার অ্যাপটি প্লে স্টোরে প্রোডাকশন চ্যানেলে প্রকাশ করতে হবে। টেস্ট ল্যাব ব্যবহার করে আপনার অ্যাপটি আলফা বা বিটা চ্যানেলে পরীক্ষা করতে, টেস্ট ল্যাবে আপনার অ্যাপ আপলোড করার আগে লাইসেন্সিং চেকটি সরিয়ে ফেলুন।

পরবর্তী পদক্ষেপ