একটি রোবো স্ক্রিপ্ট চালান (অ্যান্ড্রয়েড)

এই দস্তাবেজটি বর্ণনা করে যে কীভাবে Robo স্ক্রিপ্টগুলি ব্যবহার করতে হয়, যা এমন পরীক্ষা যা মোবাইল অ্যাপের জন্য ম্যানুয়াল QA কাজগুলিকে স্বয়ংক্রিয় করে এবং ক্রমাগত ইন্টিগ্রেশন (CI) এবং প্রি-লঞ্চ টেস্টিং কৌশলগুলি সক্ষম করে৷ উদাহরণস্বরূপ, আপনি একটি সাধারণ ব্যবহারকারীর যাত্রা পরীক্ষা করতে বা ব্যবহারকারীর নাম এবং পাসওয়ার্ডের মতো নির্দিষ্ট ব্যবহারকারী ইন্টারফেস (UI) ইনপুট প্রদান করতে রোবো স্ক্রিপ্ট ব্যবহার করতে পারেন। রোবো স্ক্রিপ্টগুলি রোবো পরীক্ষার একটি বৈশিষ্ট্য।

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

রোবো স্ক্রিপ্টগুলি পরীক্ষা ইঞ্জিন হিসাবে রোবো পরীক্ষা ব্যবহার করে। এর সবচেয়ে মৌলিক আকারে, একটি রোবো স্ক্রিপ্ট UI ক্রিয়াগুলির একটি ক্রম নিয়ে গঠিত যেমন পাঠ্য 'ব্যবহারকারীর নাম' লিখুন এবং তারপরে ঠিক আছে বোতামে আলতো চাপুন । রোবো স্ক্রিপ্টগুলিতে একটি উপাদান উপস্থিত হওয়ার জন্য অপেক্ষা করা, একটি উপাদানের মধ্যে একটি নির্দিষ্ট বিন্দুতে ট্যাপ করা এবং অ্যান্ড্রয়েড ডিবাগ ব্রিজ ( adb ) শেল কমান্ড চালানোর মতো ক্রিয়াগুলি অন্তর্ভুক্ত থাকতে পারে।

প্রথাগত টেস্টিং ফ্রেমওয়ার্কের তুলনায় রোবো স্ক্রিপ্টের নিম্নলিখিত সুবিধা রয়েছে:

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

Robo স্ক্রিপ্ট শর্তসাপেক্ষে একটি Robo পরীক্ষার সময় ট্রিগার করা হয়, যা ব্যবহারকারীদের Robo-এর আচরণ বাড়াতে দেয় - সাধারণত আরও বেশি কভারেজ বা লক্ষ্য নির্দিষ্ট কার্যকারিতা অর্জন করতে। ঐতিহ্যগত পরীক্ষার কাঠামোর বিপরীতে, রোবো স্ক্রিপ্টগুলি নিম্নলিখিতগুলিকে সমর্থন করে:

  • বিভিন্ন ট্রিগারিং শর্ত, উদাহরণস্বরূপ, একটি নির্দিষ্ট অ্যাপ প্যাকেজ নাম সক্রিয় (বা না) বা একটি নির্দিষ্ট উপাদান স্ক্রিনে প্রদর্শিত হচ্ছে (বা না)।
  • এক্সিকিউশন কন্ট্রোল, উদাহরণস্বরূপ, সর্বোচ্চ সংখ্যক এক্সিকিউশন, অগ্রাধিকার, প্রাসঙ্গিক ক্রল স্টেজ।
  • অপ্রচলিত কর্মের ধরন (শর্তসাপেক্ষ, উপাদান-উপেক্ষা, স্ক্রিন-ক্লোজিং)।

আমরা সুপারিশ করি যে আপনি যখনই সম্ভব রোবো স্ক্রিপ্টগুলি ব্যবহার করুন কারণ সেগুলি অনায়াসে বজায় রাখা যেতে পারে। উদাহরণস্বরূপ, আপনি নিম্নলিখিতগুলি করতে একটি রোবো স্ক্রিপ্ট ব্যবহার করতে পারেন:

  • একটি অ্যাপের কার্যকারিতার মূলে যেতে উল্লেখযোগ্য ওয়ার্কফ্লো নেভিগেট করুন। উদাহরণস্বরূপ, আপনি একটি সাইন-ইন সঞ্চালন করতে পারেন, প্রথম লঞ্চের পরে একটি অ্যাপের অবস্থা সেট আপ করতে পারেন এবং একটি নতুন ব্যবহারকারী নিবন্ধন করতে পারেন৷
  • রোবো পরীক্ষার সময় থেকে সর্বাধিক সুবিধা পেতে একটি অ্যাপের একটি নির্দিষ্ট অংশে রোবোকে ফোকাস করুন। রোবো স্ক্রিপ্ট একটি অ্যাপের প্রাসঙ্গিক অংশে পৌঁছানোর জন্য রোবো পরীক্ষাকে গাইড করে, যেখানে রোবো পরীক্ষা একটি সম্পূর্ণ স্বয়ংক্রিয় ক্রল পুনরায় শুরু করে।
  • একটি বিশ্লেষণ করার জন্য একটি অ্যাপকে একটি নির্দিষ্ট অবস্থা বা স্ক্রিনে আনুন, উদাহরণস্বরূপ, একটি ইন-অ্যাপ বার্তা, গোপনীয়তা নীতি, বা একটি গেমের নির্দিষ্ট স্তর বিশ্লেষণ করতে৷
  • রোবো স্ক্রিপ্ট সম্পূর্ণ হওয়ার পরে সম্পূর্ণ স্বয়ংক্রিয় ক্রল পুনরায় শুরু করে রোবো টেস্ট সহ বা ছাড়াই এন্ড-টু-এন্ড ইন্সট্রুমেন্টেশন পরীক্ষা করুন।

নিম্নলিখিতগুলি করতে আরও উন্নত রোবো স্ক্রিপ্ট বৈশিষ্ট্যগুলি ব্যবহার করুন:

  • রোবো অ্যাপ-আন্ডার-টেস্ট ক্রল করা শুরু করার আগে বা ক্রল শেষ হওয়ার পরে অ্যাকশনগুলি সম্পাদন করুন, উদাহরণস্বরূপ, ক্রল করার আগে অ্যাপ-আন্ডার-টেস্ট ডেটা পরিষ্কার করুন বা ডিভাইস সেটিংস পরিবর্তন করুন।
  • ক্রল করার সময় Robo আচরণের দিক পরিবর্তন করুন, বিশেষ করে:
    • রোবোকে কিছু UI উইজেট বা অ্যাপ স্ক্রীন উপেক্ষা করুন।
    • একটি নির্দিষ্ট স্ক্রীন থেকে ব্যাকট্র্যাক করার সময় রোবোর জন্য একটি কাস্টম অ্যাকশন প্রদান করুন।
    • যখনই একটি ক্রল করার সময় একটি নির্দিষ্ট অ্যাপ স্ক্রীনের সম্মুখীন হয় তখনই রোবোকে নির্দিষ্ট ক্রিয়া সম্পাদন করতে দিন।
  • রোবো কীভাবে ক্রল করে তা সম্পূর্ণরূপে কাস্টমাইজ করুন। উদাহরণস্বরূপ, ডিভাইস ম্যানিপুলেশনগুলি সম্পাদন করার সময় এবং পথের ধারে প্রদর্শিত যে কোনও পপআপ ডায়ালগ খারিজ করার সময়, ক্রল জুড়ে পটভূমিতে অ্যাপ-আন্ডার-টেস্ট রাখতে শর্তাধীন এবং অ-শর্তহীন ক্রিয়াগুলির সংমিশ্রণ ব্যবহার করুন৷

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

অ্যান্ড্রয়েড স্টুডিওতে Test Lab ব্যবহার করে একটি রোবো স্ক্রিপ্ট রেকর্ড করুন

অ্যান্ড্রয়েড স্টুডিওতে রোবো স্ক্রিপ্ট রেকর্ডার আপনাকে আপনার ডিভাইসে অ্যাপের সাথে সরাসরি ইন্টারঅ্যাক্ট করে রোবো স্ক্রিপ্ট রেকর্ড করতে দেয়। অ্যান্ড্রয়েড স্টুডিওতে ফায়ারবেস টুলের মাধ্যমে রোবো স্ক্রিপ্টিং শুরু করতে এই নির্দেশাবলী অনুসরণ করুন:

  1. অ্যান্ড্রয়েড স্টুডিও খুলুন এবং টুল -> ফায়ারবেস নির্বাচন করুন।

  2. Firebase প্যানে, Record Robo Script এ ক্লিক করুন এবং Robo টেস্ট গাইড করতে এটি ব্যবহার করুন

  3. রেকর্ড রোবো স্ক্রিপ্ট ক্লিক করুন. ডিপ্লয়মেন্ট টার্গেট নির্বাচন করুন ডায়ালগ প্রদর্শিত হবে।

  4. যে ডিভাইসে আপনি Robo স্ক্রিপ্ট রেকর্ড করতে চান সেটি নির্বাচন করুন।

  5. আপনি ডিভাইসে রোবো স্ক্রিপ্ট রেকর্ড করার পরে, ফাইলটিকে পছন্দসই স্থানে একটি JSON ফাইল হিসাবে সংরক্ষণ করুন৷

  6. Firebase কনসোলে Test Lab পৃষ্ঠাটি খুলুন এবং JSON স্ক্রিপ্ট ফাইল এবং অ্যাপ্লিকেশন APK আপলোড করুন।

  7. Continue বাটনে ক্লিক করুন। আপনাকে ডিভাইস এবং API স্তর নির্বাচন করতে অনুরোধ করা হচ্ছে। পরীক্ষার স্ক্রিপ্ট সম্পূর্ণ হওয়ার পরে, Test Lab পরীক্ষার রিপোর্ট তৈরি করে।

  8. (ঐচ্ছিক) পরীক্ষার রিপোর্ট এবং ভিডিওর লগক্যাট কপি বা ডাউনলোড করতে, উৎস ফাইল দেখুন ক্লিক করুন।

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

Test Lab একটি রোবো স্ক্রিপ্ট চালান

Test Lab একটি রোবো স্ক্রিপ্ট চালানোর জন্য, এই নির্দেশাবলী অনুসরণ করুন:

  1. Firebase কনসোলে Test Lab পৃষ্ঠাটি খুলুন।

  2. অ্যাপ APK বা AAB ক্ষেত্রে অ্যাপের APK বা AAB আপলোড করুন।

  3. আপনার রেকর্ড করা বা ম্যানুয়ালি তৈরি করা রোবো স্ক্রিপ্ট ফাইল রোবো স্ক্রিপ্ট (ঐচ্ছিক) ক্ষেত্রে আপলোড করুন।

একটি স্থানীয় রোবো পরীক্ষা চালানোর জন্য একটি রোবো স্ক্রিপ্ট প্রদান করুন

একটি স্থানীয় রোবো পরীক্ষা চালানোর জন্য একটি রোবো স্ক্রিপ্ট প্রদান করতে, নিম্নলিখিত রোবো পরীক্ষার বিকল্পটি ব্যবহার করুন:

--robo-script-file <robo-script-path>

স্থানীয় ফাইল সিস্টেমে আপনার রোবো স্ক্রিপ্ট ফাইলের একটি পাথ দিয়ে <robo-script-path> প্রতিস্থাপন করুন। স্থানীয় রোবো পরীক্ষা চালানোর জন্য নির্দেশাবলী অনুসরণ করুন।

একটি জিক্লাউড সিএলআই পরীক্ষার আহ্বানে একটি রোবো স্ক্রিপ্ট নির্দিষ্ট করুন

একটি gcloud CLI পরীক্ষার আহ্বানে একটি Robo স্ক্রিপ্ট নির্দিষ্ট করতে, নিম্নলিখিত gcloud CLI পতাকা ব্যবহার করুন:

--robo-script = <robo-script-path>

gs:// নোটেশন ব্যবহার করে স্থানীয় ফাইল সিস্টেমে বা Cloud Storage আপনার রোবো স্ক্রিপ্ট ফাইলের পাথ দিয়ে <robo-script-path> প্রতিস্থাপন করুন। যেমন:

gcloud firebase test android run --app = <path_to_app_apk_file> --robo-script = <robo-script-path>

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