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

Robo test is a testing tool that is integrated with Firebase Test Lab . Robo test analyzes the structure of your app's user interface (UI) and then explores it methodically, automatically simulating user activities. আপনি যখন একই সেটিংসের সাথে নির্দিষ্ট ডিভাইস কনফিগারেশনে কোনও অ্যাপ্লিকেশন পরীক্ষা করতে এটি ব্যবহার করেন তখন রোবো পরীক্ষা সর্বদা একই ক্রমে একই ক্রমে ক্রিয়াকলাপগুলি অনুকরণ করে। এই পুনরাবৃত্তিযোগ্য পরীক্ষার পদ্ধতি আপনাকে বাগ ফিক্সগুলি যাচাই করতে এবং রিগ্রেশনের জন্য পরীক্ষা করতে Robo পরীক্ষা ব্যবহার করতে দেয়।

রোবো টেস্ট লগ ফাইলগুলি ক্যাপচার করে, টীকাযুক্ত স্ক্রিনশটগুলির একটি সিরিজ সংরক্ষণ করে এবং তারপরে সেই স্ক্রিনশটগুলি থেকে একটি ভিডিও তৈরি করে যা আপনাকে এটি সম্পাদিত সিমুলেটেড ব্যবহারকারী ক্রিয়াকলাপগুলি দেখানোর জন্য। These logs, screenshots, and videos can help you determine the root cause of app crashes. এই রোবো পরীক্ষার বৈশিষ্ট্যগুলি আপনাকে আপনার অ্যাপের UI এর সমস্যাগুলি খুঁজে পেতে সহায়তা করতে পারে।

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

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

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

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

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

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

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

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

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

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

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

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

রোবো স্ক্রিপ্টগুলির সাথে আরও নিয়ন্ত্রণ

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

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

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

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

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

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

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

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

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

সাইন ইন করুন

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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