এই ডকুমেন্টে রোবো স্ক্রিপ্টগুলি কীভাবে ব্যবহার করতে হয় তা বর্ণনা করা হয়েছে, যা মোবাইল অ্যাপের জন্য ম্যানুয়াল QA টাস্কগুলিকে স্বয়ংক্রিয় করে তোলে এবং ক্রমাগত ইন্টিগ্রেশন (CI) এবং প্রাক-লঞ্চ পরীক্ষার কৌশলগুলি সক্ষম করে। উদাহরণস্বরূপ, আপনি একটি সাধারণ ব্যবহারকারীর যাত্রা পরীক্ষা করতে বা নির্দিষ্ট ব্যবহারকারী ইন্টারফেস (UI) ইনপুট প্রদান করতে রোবো স্ক্রিপ্টগুলি ব্যবহার করতে পারেন, যেমন একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড। রোবো স্ক্রিপ্টগুলি রোবো পরীক্ষার একটি বৈশিষ্ট্য।
রোবো স্ক্রিপ্টের সাহায্যে, আপনি আপনার অ্যাপের একটি ওয়ার্কফ্লোতে হেঁটে যাওয়ার সময় নিজেকে রেকর্ড করেন, তারপর আপনি রোবো পরীক্ষা চালানোর জন্য সেই রেকর্ডিংটি Firebase কনসোলে আপলোড করেন। যখন আপনি একটি স্ক্রিপ্ট সংযুক্ত করে একটি রোবো পরীক্ষা চালান, তখন রোবো প্রথমে আপনার পূর্ব-স্ক্রিপ্ট করা ক্রিয়াগুলি পরীক্ষা করে এবং তারপর যথারীতি অ্যাপটি অন্বেষণ করে।
রোবো স্ক্রিপ্টগুলি পরীক্ষা ইঞ্জিন হিসেবে রোবো টেস্ট ব্যবহার করে। এর সবচেয়ে মৌলিক রূপে, একটি রোবো স্ক্রিপ্টে UI ক্রিয়াগুলির একটি ক্রম থাকে যেমন 'ব্যবহারকারীর নাম' লেখা এবং তারপর OK বোতামটি ট্যাপ করা । রোবো স্ক্রিপ্টগুলিতে একটি উপাদান উপস্থিত হওয়ার জন্য অপেক্ষা করা, একটি উপাদানের মধ্যে একটি নির্দিষ্ট বিন্দুতে ট্যাপ করা এবং অ্যান্ড্রয়েড ডিবাগ ব্রিজ ( adb ) শেল কমান্ড কার্যকর করার মতো ক্রিয়াও অন্তর্ভুক্ত থাকতে পারে।
ঐতিহ্যবাহী টেস্টিং ফ্রেমওয়ার্কের তুলনায় রোবো স্ক্রিপ্টগুলির নিম্নলিখিত সুবিধা রয়েছে:
| ক্ষমতা | বিবরণ |
| অত্যন্ত শক্তিশালী | রোবো স্ক্রিপ্টগুলি অ্যাপ সংস্করণের মধ্যে উল্লেখযোগ্য কাঠামোগত এবং আচরণগত পার্থক্য এবং অ্যাপের অস্থিরতা সহ্য করতে পারে। |
| ওপেন-এন্ডেড | একটি রোবো স্ক্রিপ্ট সম্পূর্ণ হওয়ার পর, বেস রোবো পরীক্ষাটি অ্যাপটির পরীক্ষা চালিয়ে যেতে পারে। এই ধারাবাহিক পরীক্ষার পদ্ধতিটি বেশ কয়েকটি গুরুত্বপূর্ণ ব্যবহারের ক্ষেত্রে সক্ষম করে। উদাহরণস্বরূপ, আপনি একটি কাস্টম সাইন-ইন প্রবাহ সম্পাদন করে একটি অ্যাপকে একটি নির্দিষ্ট অবস্থায় আনতে একটি রোবো স্ক্রিপ্ট ব্যবহার করতে পারেন। |
| রেকর্ডযোগ্য | আপনাকে রোবো স্ক্রিপ্টগুলিকে ম্যানুয়ালি কোড করার দরকার নেই। অ্যান্ড্রয়েড স্টুডিওতে রোবো স্ক্রিপ্ট রেকর্ডার ব্যবহার করে এগুলি রেকর্ড করা যেতে পারে। রোবো স্ক্রিপ্ট তৈরি বা পরিবর্তন করার জন্য সাধারণত মোবাইল ডেভেলপমেন্ট সম্পর্কে কোনও জ্ঞানের প্রয়োজন হয় না। |
| নমনীয় | রোবো স্ক্রিপ্টগুলি অ-নেটিভ UI উপাদানগুলির সাথে ইন্টারঅ্যাক্ট করতে পারে যা গেমগুলিতে সাধারণ। |
রোবো স্ক্রিপ্টগুলি শর্তসাপেক্ষে রোবো পরীক্ষার সময় ট্রিগার করা হয়, যা ব্যবহারকারীদের রোবোর আচরণ বৃদ্ধি করতে দেয় - সাধারণত বৃহত্তর কভারেজ অর্জন করতে বা নির্দিষ্ট কার্যকারিতা লক্ষ্য করতে। ঐতিহ্যবাহী পরীক্ষার কাঠামোর বিপরীতে, রোবো স্ক্রিপ্টগুলি নিম্নলিখিতগুলি সমর্থন করে:
- বিভিন্ন ট্রিগারিং অবস্থা, উদাহরণস্বরূপ, একটি নির্দিষ্ট অ্যাপ প্যাকেজের নাম সক্রিয় থাকা (অথবা না) অথবা একটি নির্দিষ্ট উপাদান স্ক্রিনে প্রদর্শিত হওয়া (অথবা না)।
- এক্সিকিউশন নিয়ন্ত্রণ, উদাহরণস্বরূপ, সর্বাধিক সংখ্যক এক্সিকিউশন, অগ্রাধিকার, প্রাসঙ্গিক ক্রল পর্যায়।
- অপ্রচলিত কর্মের ধরণ (শর্তসাপেক্ষ, উপাদান-উপেক্ষা, পর্দা-বন্ধ)।
আমরা আপনাকে যখনই সম্ভব রোবো স্ক্রিপ্ট ব্যবহার করার পরামর্শ দিচ্ছি কারণ সেগুলি অনায়াসে রক্ষণাবেক্ষণ করা যায়। উদাহরণস্বরূপ, আপনি নিম্নলিখিতগুলি করার জন্য একটি রোবো স্ক্রিপ্ট ব্যবহার করতে পারেন:
- একটি অ্যাপের কার্যকারিতার মূলে পৌঁছানোর জন্য উল্লেখযোগ্য কর্মপ্রবাহ নেভিগেট করুন। উদাহরণস্বরূপ, আপনি একটি সাইন-ইন করতে পারেন, প্রথম লঞ্চের পরে একটি অ্যাপের অবস্থা সেট আপ করতে পারেন এবং একজন নতুন ব্যবহারকারী নিবন্ধন করতে পারেন।
- রোবো পরীক্ষার সময় থেকে সর্বাধিক সুবিধা পেতে একটি অ্যাপের একটি নির্দিষ্ট অংশে রোবোকে ফোকাস করুন। রোবো স্ক্রিপ্ট রোবো টেস্টকে একটি অ্যাপের প্রাসঙ্গিক অংশে পৌঁছানোর জন্য নির্দেশ দেয়, যেখানে রোবো টেস্ট সম্পূর্ণ স্বয়ংক্রিয় ক্রল পুনরায় শুরু করে।
- বিশ্লেষণ করার জন্য একটি অ্যাপকে একটি নির্দিষ্ট অবস্থা বা স্ক্রিনে আনুন, উদাহরণস্বরূপ, একটি অ্যাপ-মধ্যস্থ বার্তা, গোপনীয়তা নীতি, অথবা একটি গেমের নির্দিষ্ট স্তর বিশ্লেষণ করার জন্য।
- রোবো স্ক্রিপ্ট সম্পূর্ণ হওয়ার পরে সম্পূর্ণ স্বয়ংক্রিয় ক্রল পুনরায় শুরু করে রোবো পরীক্ষা সহ বা ছাড়াই একটি এন্ড-টু-এন্ড ইন্সট্রুমেন্টেশন পরীক্ষা করুন।
নিম্নলিখিত কাজগুলি করার জন্য আরও উন্নত রোবো স্ক্রিপ্ট বৈশিষ্ট্যগুলি ব্যবহার করুন:
- রোবো অ্যাপ-আন্ডার-টেস্ট ক্রল করা শুরু করার আগে বা ক্রল শেষ হওয়ার পরে পদক্ষেপগুলি সম্পাদন করুন, উদাহরণস্বরূপ, ক্রল করার আগে অ্যাপ-আন্ডার-টেস্ট ডেটা পরিষ্কার করুন, অথবা ডিভাইস সেটিংস পরিবর্তন করুন।
- ক্রল করার সময় রোবোর আচরণের দিকগুলি পরিবর্তন করুন, বিশেষ করে:
- রোবোকে কিছু UI উইজেট বা অ্যাপ স্ক্রিন উপেক্ষা করতে বাধ্য করুন।
- একটি নির্দিষ্ট স্ক্রিন থেকে ব্যাকট্র্যাক করার সময় রোবোর জন্য একটি কাস্টম অ্যাকশন প্রদান করুন।
- ক্রল করার সময় যখনই কোনও নির্দিষ্ট অ্যাপ স্ক্রিনের মুখোমুখি হয়, তখনই রোবোকে নির্দিষ্ট ক্রিয়া সম্পাদন করতে বাধ্য করুন।
- রোবো কীভাবে ক্রল করে তা সম্পূর্ণরূপে কাস্টমাইজ করুন। উদাহরণস্বরূপ, ক্রল জুড়ে অ্যাপ-আন্ডার-টেস্ট রাখতে শর্তসাপেক্ষ এবং শর্তসাপেক্ষ নয় এমন অ্যাকশনের সংমিশ্রণ ব্যবহার করুন, একই সাথে ডিভাইস ম্যানিপুলেশনগুলি সম্পাদন করুন এবং পথে উপস্থিত যেকোনো পপআপ ডায়ালগ খারিজ করুন।
মনে রাখবেন যে রোবো স্ক্রিপ্ট সব ধরণের পরীক্ষার জায়গা নেয় না। আপনার অ্যাপে নিম্ন-স্তরের লজিক বাগ ধরার জন্য আপনার এখনও ইউনিট পরীক্ষার প্রয়োজন; এই পরীক্ষাগুলির জন্য সাধারণত অ্যান্ড্রয়েড বা iOS পরিবেশের প্রয়োজন হয় না। আমরা সুপারিশ করছি যে আপনি রোবো স্ক্রিপ্ট পরীক্ষাগুলিকে লক্ষ্যযুক্ত যন্ত্রের পরীক্ষাগুলির সাথে পরিপূরক করুন যাতে ব্যবসায়িক যুক্তি সম্পর্কে নির্দিষ্ট, বিস্তারিত দাবি থাকতে পারে, যা কোডে সবচেয়ে ভালোভাবে প্রকাশ করা যায়।
অ্যান্ড্রয়েড স্টুডিওতে Test Lab ব্যবহার করে একটি রোবো স্ক্রিপ্ট রেকর্ড করুন
অ্যান্ড্রয়েড স্টুডিওতে রোবো স্ক্রিপ্ট রেকর্ডার আপনাকে আপনার ডিভাইসের অ্যাপের সাথে সরাসরি ইন্টারঅ্যাক্ট করে রোবো স্ক্রিপ্ট রেকর্ড করতে দেয়। অ্যান্ড্রয়েড স্টুডিওতে ফায়ারবেস টুলের মাধ্যমে রোবো স্ক্রিপ্টিং শুরু করতে এই নির্দেশাবলী অনুসরণ করুন:
অ্যান্ড্রয়েড স্টুডিও খুলুন এবং টুলস -> ফায়ারবেস নির্বাচন করুন।
Firebase প্যানে, Record Robo Script এ ক্লিক করুন এবং Robo Test গাইড করতে এটি ব্যবহার করুন ।
রেকর্ড রোবো স্ক্রিপ্টে ক্লিক করুন। Select Deployment Target ডায়ালগটি প্রদর্শিত হবে।
আপনি যে ডিভাইসে রোবো স্ক্রিপ্ট রেকর্ড করতে চান সেটি নির্বাচন করুন।
ডিভাইসে রোবো স্ক্রিপ্ট রেকর্ড করার পর, ফাইলটিকে পছন্দসই স্থানে JSON ফাইল হিসেবে সংরক্ষণ করুন।
Firebase কনসোলে Test Lab পৃষ্ঠাটি খুলুন এবং JSON স্ক্রিপ্ট ফাইল এবং অ্যাপ্লিকেশন APK আপলোড করুন।
Continue বাটনে ক্লিক করুন। আপনাকে ডিভাইস এবং API লেভেল নির্বাচন করতে বলা হবে। টেস্ট স্ক্রিপ্ট সম্পূর্ণ হওয়ার পর, Test Lab টেস্ট রিপোর্ট তৈরি করে।
(ঐচ্ছিক) পরীক্ষার রিপোর্ট এবং ভিডিওর লগক্যাট কপি বা ডাউনলোড করতে, View Source Files এ ক্লিক করুন।
ডিফল্টরূপে, রোবো স্ক্রিপ্টের শক্তিশালীকরণ প্রক্রিয়াগুলি এটিকে তাড়াতাড়ি ব্যর্থ হতে বাধা দেয়। যদি আপনি strict কার্যকরকরণ মোড বেছে নেন এবং কোনও সময়ে কোনও রোবো স্ক্রিপ্ট ব্যর্থ হয়, তাহলে Test Lab স্ক্রিপ্টের পরবর্তী সমস্ত পদক্ষেপ পরিত্যাগ করে এবং নিয়মিত রোবো ক্রল পুনরায় শুরু করে। প্রায়শই, রোবো স্ক্রিপ্টগুলি ব্যর্থ হয় কারণ রোবো স্ক্রিনে একটি প্রয়োজনীয় উপাদান খুঁজে পায় না। ব্যর্থতা এড়াতে, নিশ্চিত করুন যে আপনার অ্যাপ নেভিগেশনটি পূর্বাভাসযোগ্য এবং আপনার স্ক্রিনগুলি একটি নির্ধারক ক্রমে দেখানো হচ্ছে।
Test Lab একটি রোবো স্ক্রিপ্ট চালান
Test Lab একটি রোবো স্ক্রিপ্ট চালানোর জন্য, এই নির্দেশাবলী অনুসরণ করুন:
Firebase কনসোলে Test Lab পৃষ্ঠাটি খুলুন।
অ্যাপের APK অথবা AAB ফাইলটি অ্যাপ APK অথবা AAB ফিল্ডে আপলোড করুন।
আপনার রেকর্ড করা বা ম্যানুয়ালি তৈরি করা রোবো স্ক্রিপ্ট ফাইলটি রোবো স্ক্রিপ্ট (ঐচ্ছিক) ক্ষেত্রে আপলোড করুন।
স্থানীয় রোবো পরীক্ষা চালানোর জন্য একটি রোবো স্ক্রিপ্ট সরবরাহ করুন
স্থানীয় রোবো পরীক্ষা চালানোর জন্য একটি রোবো স্ক্রিপ্ট প্রদান করতে, নিম্নলিখিত রোবো পরীক্ষা বিকল্পটি ব্যবহার করুন:
--robo-script-file <robo-script-path>
স্থানীয় ফাইল সিস্টেমে আপনার রোবো স্ক্রিপ্ট ফাইলের পাথ দিয়ে <robo-script-path> প্রতিস্থাপন করুন। স্থানীয় রোবো পরীক্ষা চালানোর জন্য নির্দেশাবলী অনুসরণ করুন।
একটি 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>
পরবর্তী পদক্ষেপ
- রোবো স্ক্রিপ্টের গঠন, ক্ষমতা, ব্যবহার এবং ক্রিয়া সম্পর্কে জানতে, রোবো স্ক্রিপ্টের রেফারেন্স গাইড দেখুন।
- একটি রোবো পরীক্ষা চালান ।