এই ডকুমেন্টটিতে রোবো স্ক্রিপ্ট ব্যবহারের পদ্ধতি বর্ণনা করা হয়েছে। রোবো স্ক্রিপ্ট হলো এমন এক ধরনের টেস্ট যা মোবাইল অ্যাপের ম্যানুয়াল QA টাস্কগুলোকে স্বয়ংক্রিয় করে এবং কন্টিনিউয়াস ইন্টিগ্রেশন (CI) ও প্রি-লঞ্চ টেস্টিং স্ট্র্যাটেজিগুলোকে সক্ষম করে। উদাহরণস্বরূপ, আপনি একটি সাধারণ ইউজার জার্নি পরীক্ষা করতে অথবা ইউজারনেম ও পাসওয়ার্ডের মতো নির্দিষ্ট ইউজার ইন্টারফেস (UI) ইনপুট প্রদান করতে রোবো স্ক্রিপ্ট ব্যবহার করতে পারেন। রোবো স্ক্রিপ্ট হলো রোবো টেস্ট -এর একটি ফিচার।
রোবো স্ক্রিপ্টের সাহায্যে, আপনি আপনার অ্যাপের কোনো ওয়ার্কফ্লো অনুসরণ করার সময় নিজের ভিডিও রেকর্ড করেন, তারপর সেই রেকর্ডিংটি রোবো টেস্টে চালানোর জন্য Firebase কনসোলে আপলোড করেন। যখন আপনি স্ক্রিপ্ট সংযুক্ত করে একটি রোবো টেস্ট চালান, তখন রোবো প্রথমে আপনার পূর্ব-নির্ধারিত কাজগুলো ধাপে ধাপে সম্পন্ন করে এবং তারপর স্বাভাবিকভাবে অ্যাপটি অন্বেষণ করে।
রোবো স্ক্রিপ্টগুলো টেস্ট ইঞ্জিন হিসেবে রোবো টেস্ট ব্যবহার করে। এর সবচেয়ে মৌলিক রূপে, একটি রোবো স্ক্রিপ্টে কয়েকটি UI অ্যাকশনের একটি ক্রম থাকে, যেমন 'ইউজারনেম' টেক্সট প্রবেশ করানো এবং তারপর ওকে বাটনে ট্যাপ করা । রোবো স্ক্রিপ্টে কোনো এলিমেন্ট প্রদর্শিত হওয়ার জন্য অপেক্ষা করা, এলিমেন্টের মধ্যে একটি নির্দিষ্ট স্থানে ট্যাপ করা এবং অ্যান্ড্রয়েড ডিবাগ ব্রিজ ( adb ) শেল কমান্ড কার্যকর করার মতো অ্যাকশনও অন্তর্ভুক্ত থাকতে পারে।
প্রচলিত টেস্টিং ফ্রেমওয়ার্কের তুলনায় রোবো স্ক্রিপ্টের নিম্নলিখিত সুবিধাগুলো রয়েছে:
| সক্ষমতা | বর্ণনা |
| অত্যন্ত শক্তিশালী | রোবো স্ক্রিপ্ট অ্যাপের বিভিন্ন সংস্করণের মধ্যেকার উল্লেখযোগ্য কাঠামোগত ও আচরণগত পার্থক্য এবং অ্যাপের ত্রুটিপূর্ণ কার্যকারিতা সহ্য করতে পারে। |
| উন্মুক্ত | একটি রোবো স্ক্রিপ্ট সম্পন্ন হওয়ার পর, মূল রোবো টেস্টটি দায়িত্ব গ্রহণ করে অ্যাপটির টেস্টিং চালিয়ে যেতে পারে। এই ধারাবাহিক টেস্টিং পদ্ধতিটি বেশ কিছু গুরুত্বপূর্ণ ব্যবহারের সুযোগ তৈরি করে। উদাহরণস্বরূপ, একটি কাস্টম সাইন-ইন ফ্লো সম্পাদনের মাধ্যমে কোনো অ্যাপকে একটি নির্দিষ্ট অবস্থায় নিয়ে আসতে আপনি রোবো স্ক্রিপ্ট ব্যবহার করতে পারেন। |
| রেকর্ডযোগ্য | আপনাকে ম্যানুয়ালি রোবো স্ক্রিপ্ট কোড করতে হবে না। অ্যান্ড্রয়েড স্টুডিও-এর রোবো স্ক্রিপ্ট রেকর্ডার ব্যবহার করে এগুলো রেকর্ড করা যায়। রোবো স্ক্রিপ্ট তৈরি বা পরিবর্তন করার জন্য সাধারণত মোবাইল ডেভেলপমেন্ট সম্পর্কে কোনো জ্ঞানের প্রয়োজন হয় না। |
| নমনীয় | রোবো স্ক্রিপ্টগুলো গেমে প্রচলিত নন-নেটিভ UI এলিমেন্টগুলোর সাথে ইন্টারঅ্যাক্ট করতে পারে। |
রোবো টেস্ট চলাকালীন শর্তসাপেক্ষে রোবো স্ক্রিপ্ট চালু করা হয়, যা ব্যবহারকারীদের রোবোর আচরণ উন্নত করার সুযোগ দেয় — সাধারণত বৃহত্তর কভারেজ অর্জন করতে বা নির্দিষ্ট কার্যকারিতাকে লক্ষ্য করতে। প্রচলিত টেস্টিং ফ্রেমওয়ার্কের বিপরীতে, রোবো স্ক্রিপ্ট নিম্নলিখিত বিষয়গুলো সমর্থন করে:
- বিভিন্ন ট্রিগারিং শর্ত, যেমন, একটি নির্দিষ্ট অ্যাপ প্যাকেজ নেম সক্রিয় থাকা (বা না থাকা) অথবা স্ক্রিনে একটি নির্দিষ্ট এলিমেন্ট প্রদর্শিত হওয়া (বা না হওয়া)।
- এক্সিকিউশন কন্ট্রোল, যেমন—এক্সিকিউশনের সর্বোচ্চ সংখ্যা, অগ্রাধিকার, প্রাসঙ্গিক ক্রল স্টেজ।
- অপ্রচলিত কর্মের ধরণ (শর্তসাপেক্ষ, উপাদান-উপেক্ষাকারী, স্ক্রিন-বন্ধকারী)।
আমরা সুপারিশ করি যে আপনি যথাসম্ভব রোবো স্ক্রিপ্ট ব্যবহার করুন, কারণ এগুলো অনায়াসে রক্ষণাবেক্ষণ করা যায়। উদাহরণস্বরূপ, আপনি একটি রোবো স্ক্রিপ্ট ব্যবহার করে নিম্নলিখিত কাজগুলো করতে পারেন:
- অ্যাপের কার্যকারিতার মূল অংশে পৌঁছানোর জন্য গুরুত্বপূর্ণ ওয়ার্কফ্লোগুলো পরিচালনা করুন। উদাহরণস্বরূপ, আপনি সাইন-ইন করতে, প্রথমবার চালুর পর অ্যাপের অবস্থা সেট আপ করতে এবং একজন নতুন ব্যবহারকারীকে নিবন্ধন করতে পারেন।
- রোবো টেস্টের সময়ের সর্বোচ্চ ব্যবহার করতে অ্যাপের একটি নির্দিষ্ট অংশে রোবোকে ফোকাস করুন। রোবো স্ক্রিপ্ট, রোবো টেস্টকে অ্যাপের প্রাসঙ্গিক অংশে পৌঁছাতে পথ দেখায়, যেখানে রোবো টেস্ট সম্পূর্ণ স্বয়ংক্রিয়ভাবে ক্রল করা পুনরায় শুরু করে।
- কোনো বিশ্লেষণ সম্পাদন করার জন্য অ্যাপটিকে একটি নির্দিষ্ট অবস্থা বা স্ক্রিনে নিয়ে আসুন, যেমন—অ্যাপের ভেতরের কোনো বার্তা, গোপনীয়তা নীতি বা গেমের কোনো নির্দিষ্ট স্তর বিশ্লেষণ করতে।
- রোবো স্ক্রিপ্ট সম্পন্ন হওয়ার পর সম্পূর্ণ স্বয়ংক্রিয় ক্রল পুনরায় শুরু করে, রোবো টেস্ট সহ বা রোবো টেস্ট ছাড়াই একটি এন্ড-টু-এন্ড ইন্সট্রুমেন্টেশন টেস্ট সম্পাদন করুন।
নিম্নলিখিত কাজগুলো করার জন্য রোবো স্ক্রিপ্টের আরও উন্নত বৈশিষ্ট্যগুলো ব্যবহার করুন:
- রোবো পরীক্ষাধীন অ্যাপটি ক্রল করা শুরু করার আগে অথবা ক্রল শেষ হওয়ার পরে বিভিন্ন কাজ সম্পাদন করুন, যেমন—ক্রলের আগে পরীক্ষাধীন অ্যাপটির ডেটা পরিষ্কার করা, বা ডিভাইসের সেটিংস পরিবর্তন করা।
- ক্রল করার সময় রোবোর আচরণের বিভিন্ন দিক পরিবর্তন করুন, বিশেষ করে:
- রোবোকে কিছু UI উইজেট বা অ্যাপ স্ক্রিন উপেক্ষা করতে শেখান।
- কোনো নির্দিষ্ট স্ক্রিন থেকে পেছনে ফেরার সময় রোবোর সম্পাদন করার জন্য একটি কাস্টম অ্যাকশন প্রদান করুন।
- ক্রল করার সময় কোনো নির্দিষ্ট অ্যাপ স্ক্রিনের সম্মুখীন হলে রোবোকে দিয়ে বিশেষ কিছু কাজ করান।
- রোবো কীভাবে ক্রল করবে তা সম্পূর্ণরূপে কাস্টমাইজ করুন। উদাহরণস্বরূপ, ক্রল চলাকালীন পরীক্ষাধীন অ্যাপটিকে ব্যাকগ্রাউন্ডে রাখতে এবং একই সাথে ডিভাইস ম্যানিপুলেশন করতে ও পথে আসা যেকোনো পপ-আপ ডায়ালগ বন্ধ করে দিতে শর্তসাপেক্ষ এবং শর্তহীন অ্যাকশনের একটি সংমিশ্রণ ব্যবহার করুন।
মনে রাখবেন যে রোবো স্ক্রিপ্ট সব ধরনের টেস্টের বিকল্প নয়। আপনার অ্যাপের নিম্ন-স্তরের লজিক বাগগুলো ধরার জন্য এখনও ইউনিট টেস্টের প্রয়োজন আছে; এই টেস্টগুলোর জন্য সাধারণত অ্যান্ড্রয়েড বা আইওএস পরিবেশের প্রয়োজন হয় না। আমরা সুপারিশ করি যে আপনি রোবো স্ক্রিপ্ট টেস্টের পাশাপাশি নির্দিষ্ট ইন্সট্রুমেন্টেশন টেস্ট ব্যবহার করুন, যেগুলোতে বিজনেস লজিক সম্পর্কে সুনির্দিষ্ট ও বিস্তারিত অ্যাসারশন থাকতে পারে, যা কোডের মাধ্যমে প্রকাশ করাই সবচেয়ে ভালো।
অ্যান্ড্রয়েড স্টুডিওর Test Lab ব্যবহার করে একটি রোবো স্ক্রিপ্ট রেকর্ড করুন।
অ্যান্ড্রয়েড স্টুডিও-এর রোবো স্ক্রিপ্ট রেকর্ডার আপনাকে আপনার ডিভাইসের অ্যাপটির সাথে সরাসরি ইন্টারঅ্যাক্ট করার মাধ্যমে রোবো স্ক্রিপ্ট রেকর্ড করতে দেয়। অ্যান্ড্রয়েড স্টুডিও-এর ফায়ারবেস টুলের মাধ্যমে রোবো স্ক্রিপ্টিং শুরু করতে এই নির্দেশাবলী অনুসরণ করুন:
অ্যান্ড্রয়েড স্টুডিও খুলুন এবং টুলস -> ফায়ারবেস নির্বাচন করুন।
Firebase প্যানে, Record Robo Script-এ ক্লিক করুন এবং Use it to Guide Robo Test বিকল্পটি বেছে নিন ।
রেকর্ড রোবো স্ক্রিপ্ট-এ ক্লিক করুন। সিলেক্ট ডিপ্লয়মেন্ট টার্গেট ডায়ালগ বক্সটি প্রদর্শিত হবে।
যে ডিভাইসে আপনি রোবো স্ক্রিপ্টটি রেকর্ড করতে চান, সেটি নির্বাচন করুন।
ডিভাইসে রোবো স্ক্রিপ্ট রেকর্ড করার পর, ফাইলটি আপনার পছন্দের স্থানে একটি JSON ফাইল হিসেবে সংরক্ষণ করুন।
Firebase কনসোলে Test Lab পেজটি খুলুন এবং JSON স্ক্রিপ্ট ফাইল ও অ্যাপ্লিকেশন APK-টি আপলোড করুন।
' Continue' বোতামে ক্লিক করুন। আপনাকে ডিভাইস এবং এপিআই লেভেল নির্বাচন করতে বলা হবে। টেস্ট স্ক্রিপ্টটি সম্পন্ন হওয়ার পর, Test Lab টেস্ট রিপোর্টটি তৈরি করে।
(ঐচ্ছিক) টেস্ট রিপোর্টের লগক্যাট এবং ভিডিও কপি বা ডাউনলোড করতে, ‘ভিউ সোর্স ফাইলস’-এ ক্লিক করুন।
ডিফল্টরূপে, রোবো স্ক্রিপ্টের দৃঢ়তা ব্যবস্থা এটিকে সময়ের আগেই ব্যর্থ হওয়া থেকে বিরত রাখে। আপনি যদি strict এক্সিকিউশন মোড বেছে নেন এবং একটি রোবো স্ক্রিপ্ট যেকোনো পর্যায়ে ব্যর্থ হয়, তাহলে Test Lab স্ক্রিপ্টের পরবর্তী সমস্ত ধাপ বাতিল করে দেয় এবং একটি সাধারণ রোবো ক্রল পুনরায় শুরু করে। বেশিরভাগ ক্ষেত্রে, রোবো স্ক্রিপ্ট ব্যর্থ হয় কারণ রোবো স্ক্রিনে কোনো প্রয়োজনীয় এলিমেন্ট খুঁজে পায় না। ব্যর্থতা এড়াতে, নিশ্চিত করুন যে আপনার অ্যাপের নেভিগেশন অনুমানযোগ্য এবং আপনার স্ক্রিনগুলো একটি নির্দিষ্ট ক্রমে প্রদর্শিত হয়।
Test Lab একটি রোবো স্ক্রিপ্ট চালান
Test Lab একটি রোবো স্ক্রিপ্ট চালানোর জন্য, এই নির্দেশাবলী অনুসরণ করুন:
Firebase কনসোলে Test Lab পৃষ্ঠাটি খুলুন।
‘App APK or AAB ’ ফিল্ডে অ্যাপটির APK বা AAB আপলোড করুন।
আপনার রেকর্ড করা বা হাতে তৈরি করা রোবো স্ক্রিপ্ট ফাইলটি ‘রোবো স্ক্রিপ্ট (ঐচ্ছিক)’ ফিল্ডে আপলোড করুন।
স্থানীয় রোবো টেস্ট রানের জন্য একটি রোবো স্ক্রিপ্ট সরবরাহ করুন।
স্থানীয় রোবো টেস্ট রানে একটি রোবো স্ক্রিপ্ট সরবরাহ করতে, নিম্নলিখিত রোবো টেস্ট অপশনটি ব্যবহার করুন:
--robo-script-file <robo-script-path>
<robo-script-path> এর জায়গায় আপনার লোকাল ফাইল সিস্টেমে থাকা রোবো স্ক্রিপ্ট ফাইলের পাথটি বসান। লোকাল রোবো টেস্ট রানের জন্য নির্দেশাবলী অনুসরণ করুন।
gcloud CLI টেস্ট আহ্বানে একটি রোবো স্ক্রিপ্ট নির্দিষ্ট করুন।
gcloud CLI টেস্ট আহ্বানে একটি রোবো স্ক্রিপ্ট নির্দিষ্ট করতে, নিম্নলিখিত gcloud CLI ফ্ল্যাগটি ব্যবহার করুন:
--robo-script = <robo-script-path>
<robo-script-path> -এর জায়গায় আপনার লোকাল ফাইল সিস্টেম বা Cloud Storage থাকা রোবো স্ক্রিপ্ট ফাইলের পাথটি gs:// নোটেশন ব্যবহার করে লিখুন। উদাহরণস্বরূপ:
gcloud firebase test android run --app = <path_to_app_apk_file> --robo-script = <robo-script-path>
পরবর্তী পদক্ষেপ
- রোবো স্ক্রিপ্টের গঠন, ক্ষমতা, ব্যবহার এবং ক্রিয়াকলাপ সম্পর্কে জানতে, রোবো স্ক্রিপ্ট রেফারেন্স গাইডটি দেখুন।
- একটি রোবো পরীক্ষা চালান ।