This document describes how to use Robo scripts , which are tests that automate manual QA tasks for mobile apps, and enable continuous integration (CI) and pre-launch testing strategies. For example, you can use Robo scripts to test a common user journey or provide specific user interface (UI) input, like a username and password. Robo scripts are a feature of Robo test .
রোবো স্ক্রিপ্টগুলো টেস্ট ইঞ্জিন হিসেবে রোবো টেস্ট ব্যবহার করে। এর সবচেয়ে মৌলিক রূপে, একটি রোবো স্ক্রিপ্টে কয়েকটি UI অ্যাকশনের একটি ক্রম থাকে, যেমন 'ইউজারনেম' টেক্সট প্রবেশ করানো এবং তারপর ওকে বাটনে ট্যাপ করা । রোবো স্ক্রিপ্টে কোনো এলিমেন্ট প্রদর্শিত হওয়ার জন্য অপেক্ষা করা, এলিমেন্টের মধ্যে একটি নির্দিষ্ট স্থানে ট্যাপ করা এবং অ্যান্ড্রয়েড ডিবাগ ব্রিজ ( adb ) শেল কমান্ড কার্যকর করার মতো অ্যাকশনও অন্তর্ভুক্ত থাকতে পারে।
প্রচলিত টেস্টিং ফ্রেমওয়ার্কের তুলনায় রোবো স্ক্রিপ্টের নিম্নলিখিত সুবিধাগুলো রয়েছে:
| সক্ষমতা | বর্ণনা |
| অত্যন্ত শক্তিশালী | রোবো স্ক্রিপ্ট অ্যাপের বিভিন্ন সংস্করণের মধ্যেকার উল্লেখযোগ্য কাঠামোগত ও আচরণগত পার্থক্য এবং অ্যাপের ত্রুটিপূর্ণ কার্যকারিতা সহ্য করতে পারে। |
| উন্মুক্ত | একটি রোবো স্ক্রিপ্ট সম্পন্ন হওয়ার পর, মূল রোবো টেস্টটি দায়িত্ব গ্রহণ করে অ্যাপটির টেস্টিং চালিয়ে যেতে পারে। এই ধারাবাহিক টেস্টিং পদ্ধতিটি বেশ কিছু গুরুত্বপূর্ণ ব্যবহারের সুযোগ তৈরি করে। উদাহরণস্বরূপ, একটি কাস্টম সাইন-ইন ফ্লো সম্পাদনের মাধ্যমে কোনো অ্যাপকে একটি নির্দিষ্ট অবস্থায় নিয়ে আসতে আপনি রোবো স্ক্রিপ্ট ব্যবহার করতে পারেন। |
| রেকর্ডযোগ্য | আপনাকে ম্যানুয়ালি রোবো স্ক্রিপ্ট কোড করতে হবে না। অ্যান্ড্রয়েড স্টুডিও-এর রোবো স্ক্রিপ্ট রেকর্ডার ব্যবহার করে এগুলো রেকর্ড করা যায়। রোবো স্ক্রিপ্ট তৈরি বা পরিবর্তন করার জন্য সাধারণত মোবাইল ডেভেলপমেন্ট সম্পর্কে কোনো জ্ঞানের প্রয়োজন হয় না। |
| নমনীয় | রোবো স্ক্রিপ্টগুলো গেমে প্রচলিত নন-নেটিভ UI এলিমেন্টগুলোর সাথে ইন্টারঅ্যাক্ট করতে পারে। |
রোবো টেস্ট চলাকালীন শর্তসাপেক্ষে রোবো স্ক্রিপ্ট চালু করা হয়, যা ব্যবহারকারীদের রোবোর আচরণ উন্নত করার সুযোগ দেয় — সাধারণত বৃহত্তর কভারেজ অর্জন করতে বা নির্দিষ্ট কার্যকারিতাকে লক্ষ্য করতে। প্রচলিত টেস্টিং ফ্রেমওয়ার্কের বিপরীতে, রোবো স্ক্রিপ্ট নিম্নলিখিত বিষয়গুলো সমর্থন করে:
- বিভিন্ন ট্রিগারিং শর্ত, যেমন, একটি নির্দিষ্ট অ্যাপ প্যাকেজ নেম সক্রিয় থাকা (বা না থাকা) অথবা স্ক্রিনে একটি নির্দিষ্ট এলিমেন্ট প্রদর্শিত হওয়া (বা না হওয়া)।
- এক্সিকিউশন কন্ট্রোল, যেমন—এক্সিকিউশনের সর্বোচ্চ সংখ্যা, অগ্রাধিকার, প্রাসঙ্গিক ক্রল স্টেজ।
- অপ্রচলিত কর্মের ধরণ (শর্তসাপেক্ষ, উপাদান-উপেক্ষাকারী, স্ক্রিন-বন্ধকারী)।
আমরা সুপারিশ করি যে আপনি যথাসম্ভব রোবো স্ক্রিপ্ট ব্যবহার করুন, কারণ এগুলো অনায়াসে রক্ষণাবেক্ষণ করা যায়। উদাহরণস্বরূপ, আপনি একটি রোবো স্ক্রিপ্ট ব্যবহার করে নিম্নলিখিত কাজগুলো করতে পারেন:
- অ্যাপের কার্যকারিতার মূল অংশে পৌঁছানোর জন্য গুরুত্বপূর্ণ ওয়ার্কফ্লোগুলো পরিচালনা করুন। উদাহরণস্বরূপ, আপনি সাইন-ইন করতে, প্রথমবার চালুর পর অ্যাপের অবস্থা সেট আপ করতে এবং একজন নতুন ব্যবহারকারীকে নিবন্ধন করতে পারেন।
- রোবো টেস্টের সময়ের সর্বোচ্চ ব্যবহার করতে অ্যাপের একটি নির্দিষ্ট অংশে রোবোকে ফোকাস করুন। রোবো স্ক্রিপ্ট, রোবো টেস্টকে অ্যাপের প্রাসঙ্গিক অংশে পৌঁছাতে পথ দেখায়, যেখানে রোবো টেস্ট সম্পূর্ণ স্বয়ংক্রিয়ভাবে ক্রল করা পুনরায় শুরু করে।
- কোনো বিশ্লেষণ সম্পাদন করার জন্য অ্যাপটিকে একটি নির্দিষ্ট অবস্থা বা স্ক্রিনে নিয়ে আসুন, যেমন—অ্যাপের ভেতরের কোনো বার্তা, গোপনীয়তা নীতি বা গেমের কোনো নির্দিষ্ট স্তর বিশ্লেষণ করতে।
- রোবো স্ক্রিপ্ট সম্পন্ন হওয়ার পর সম্পূর্ণ স্বয়ংক্রিয় ক্রল পুনরায় শুরু করে, রোবো টেস্ট সহ বা রোবো টেস্ট ছাড়াই একটি এন্ড-টু-এন্ড ইন্সট্রুমেন্টেশন টেস্ট সম্পাদন করুন।
নিম্নলিখিত কাজগুলো করার জন্য রোবো স্ক্রিপ্টের আরও উন্নত বৈশিষ্ট্যগুলো ব্যবহার করুন:
- Perform actions before Robo starts crawling the app-under-test or after a crawl is finished, for example, clean the app-under-test data before a crawl, or change device settings.
- ক্রল করার সময় রোবোর আচরণের বিভিন্ন দিক পরিবর্তন করুন, বিশেষ করে:
- রোবোকে কিছু UI উইজেট বা অ্যাপ স্ক্রিন উপেক্ষা করতে শেখান।
- কোনো নির্দিষ্ট স্ক্রিন থেকে পেছনে ফেরার সময় রোবোর সম্পাদন করার জন্য একটি কাস্টম অ্যাকশন প্রদান করুন।
- ক্রল করার সময় কোনো নির্দিষ্ট অ্যাপ স্ক্রিনের সম্মুখীন হলে রোবোকে দিয়ে বিশেষ কিছু কাজ করান।
- রোবো কীভাবে ক্রল করবে তা সম্পূর্ণরূপে কাস্টমাইজ করুন। উদাহরণস্বরূপ, ক্রল চলাকালীন পরীক্ষাধীন অ্যাপটিকে ব্যাকগ্রাউন্ডে রাখতে এবং একই সাথে ডিভাইস ম্যানিপুলেশন করতে ও পথে আসা যেকোনো পপ-আপ ডায়ালগ বন্ধ করে দিতে শর্তসাপেক্ষ এবং শর্তহীন অ্যাকশনের একটি সংমিশ্রণ ব্যবহার করুন।
মনে রাখবেন যে রোবো স্ক্রিপ্ট সব ধরনের টেস্টের বিকল্প নয়। আপনার অ্যাপের নিম্ন-স্তরের লজিক বাগগুলো ধরার জন্য এখনও ইউনিট টেস্টের প্রয়োজন আছে; এই টেস্টগুলোর জন্য সাধারণত অ্যান্ড্রয়েড বা আইওএস পরিবেশের প্রয়োজন হয় না। আমরা সুপারিশ করি যে আপনি রোবো স্ক্রিপ্ট টেস্টের পাশাপাশি নির্দিষ্ট ইন্সট্রুমেন্টেশন টেস্ট ব্যবহার করুন, যেগুলোতে বিজনেস লজিক সম্পর্কে সুনির্দিষ্ট ও বিস্তারিত অ্যাসারশন থাকতে পারে, যা কোডের মাধ্যমে প্রকাশ করাই সবচেয়ে ভালো।
পরবর্তী পদক্ষেপ
রোবো স্ক্রিপ্টের গঠন, ক্ষমতা, ব্যবহার এবং ক্রিয়াকলাপ সম্পর্কে জানতে, রোবো স্ক্রিপ্ট রেফারেন্স গাইডটি দেখুন।