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

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

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

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

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

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

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

  • অ্যাকশন: ক্রল করার সময় সম্পাদিত মোট অ্যাকশনের সংখ্যা, যার মধ্যে রয়েছে রোবো স্ক্রিপ্ট অ্যাকশন, মাঙ্কি অ্যাকশন এবং রোবো নির্দেশিকা।

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

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

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

রোবো পরীক্ষার সময়সীমা শেষ

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

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

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

রোবো স্ক্রিপ্টের মাধ্যমে আরও নিয়ন্ত্রণ

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

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

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

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

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

গুগল প্লে এর সাথে ইন্টিগ্রেশন

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

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

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

সাইন-ইন করুন

সাইন-ইন সমর্থন করার জন্য রোবো টেস্টে দুটি পারস্পরিক-এক্সক্লুসিভ পদ্ধতি রয়েছে:

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

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

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

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

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

পূর্বনির্ধারিত টেক্সট ইনপুট

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

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

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

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

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

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

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

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

অ্যাপ লাইসেন্সিং সহায়তা

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

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