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