OmniLab Android Test Station

OmniLab ATS হল একটি টেস্টিং টুল যা Android ডেভেলপার এবং টেস্ট ইঞ্জিনিয়াররা Android কম্প্যাটিবিলিটি টেস্ট স্যুট (CTS)-এর মতো স্ট্যান্ডার্ড Android টেস্ট স্যুট চালানোর জন্য একটি ইউজার ইন্টারফেস ব্যবহার করতে পারেন। এই টুল বিভিন্ন টেস্ট ফ্রেমওয়ার্কের জন্য ওয়েব ইন্টারফেস হিসেবে কাজ করে, যেমন Trade Federation (TF) এবং Google Mobly, যা আপনাকে CTS এবং মাল্টি-ডিভাইস টেস্ট, টেস্ট ডিভাইসের সেটে ন্যূনতম সেট-আপের মাধ্যমে রান করতে দেয়, এর পাশাপাশি ক্রমাগত টেস্ট রান করার জন্য শিডিউল তৈরি করতে দেয়।

OmniLab ATS 2.0-এর সাথে পরিচয়

OmniLab ATS 2.0, ট্রেড ফেডারেশন থেকে OmniLab-এ অন্তর্নিহিত টেস্ট এক্সিকিউশন পরিকাঠামো মাইগ্রেট করে। এই পরিবর্তনের ফলে আরও শক্তিশালী ও দক্ষ ব্যাকএন্ড পাওয়া যাবে, তবে OmniLab ATS 1.0 ইউজার ইন্টারফেস ও ওয়ার্কফ্লোতে কোনও পরিবর্তন হবে না।

OmniLab ATS 2.0-এর মূল সুবিধা:

  • আধুনিক ইনফ্রাস্ট্রাকচার: উন্নত স্থায়িত্ব ও পারফর্ম্যান্সের জন্য OmniLab প্ল্যাটফর্মের সুবিধা নেয়।
  • নির্বিঘ্ন ট্রানজিশন: ওয়েব UI বা মূল টেস্ট এক্সিকিউশন ওয়ার্কফ্লোতে কোনও পরিবর্তন করা হয়নি।
  • ভবিষ্যতের জন্য প্রস্তুত: Google-এর ইউনিফায়েড টেস্টিং ইনফ্রাস্ট্রাকচারের সাথে সামঞ্জস্যপূর্ণ, যার ফলে নতুন ফিচার আরও দ্রুত গ্রহণ করা সম্ভব হয়।

OmniLab ATS 2.0-এ বাল্ক টেস্ট প্ল্যান আপডেট, উন্নত ডিভাইস অ্যালোকেশন এবং আরও অনেক কিছুর মতো নতুন ফিচার অন্তর্ভুক্ত রয়েছে। আপডেটের জন্য রিলিজ নোট চেক করুন।

OmniLab ATS 2.0-এ আপগ্রেড করুন:

OmniLab ATS 2.0 ব্যবহার করতে, আপনার স্টেশনকে অবশ্যই বিল্ড R52 বা তার পরবর্তী ভার্সনে আপগ্রেড করতে হবে। নতুন Omnilab ATS 2.0-এ পাল্টাতে --force_ats_version 2 ফ্ল্যাগ ব্যবহার করুন এবং লেটেস্ট বিল্ডে আপগ্রেড করতে --force_update ফ্ল্যাগ সহ mtt start কমান্ড ব্যবহার করুন:

mtt start --force_ats_version 2 --force_update

মাইগ্রেশন চলাকালীন, OmniLab ATS 2.0 ফিচার সহ লেটেস্ট স্টেবল বিল্ড অ্যাক্সেস করতে, আমরা dogfood ট্যাগ ব্যবহার করার সাজেশন দিই:

mtt start --force_ats_version 2 --tag dogfood --force_update

আমরা ২০২৬ সালের ৩য় ত্রৈমাসিকে OmniLab ATS 2.0-কে ডিফল্ট ভার্সন হিসেবে সেট করার পরিকল্পনা করছি। আমরা ২০২৬ সালের শেষের দিকে OmniLab ATS 1.0 পর্যায়ক্রমে বন্ধ করার পরিকল্পনা করছি।

নির্দিষ্ট আপডেট, পরিচিত পার্থক্য এবং আপগ্রেড সংক্রান্ত নির্দেশিকা সম্পর্কে আরও জানতে, OmniLab ATS 2.0 আপগ্রেড গাইড দেখুন।

OmniLab ATS সেট-আপ করুন

এই বিভাগে OmniLab ATS কীভাবে ইনস্টল ও সেট-আপ করতে হয় তা ব্যাখ্যা করা হয়েছে।

OmniLab ATS এইসব লোকেশন থেকে সোর্স কোড ব্যবহার করে:

OmniLab ATS ইনস্টল করুন

আপনার রান করা টেস্ট স্যুটের জন্য হার্ডওয়্যার ও সফ্টওয়্যার সংক্রান্ত প্রয়োজনীয়তা মেনে চলুন।

CTS-এর জন্য প্রয়োজনীয় বিষয়গুলি source.android.com-এ পাওয়া যাবে।

OmniLab ATS-এর জন্য অতিরিক্ত কোনও হার্ডওয়্যার প্রয়োজন নেই, তবে আমরা সাজেস্ট করি শুরু করার জন্য CTS হোস্টের প্রয়োজনীয়তা ব্যবহার করুন।

OmniLab ATS ইনস্টল করার দুটি উপায় আছে:

ইনস্টলার প্রোগ্রামের মাধ্যমে ইনস্টল করুন

ইনস্টলার প্রোগ্রাম Ubuntu 22.04 এবং তার পরবর্তী যেকোনও ভার্সনে কাজ করে। ইনস্টলার OmniLab ATS চালানোর জন্য প্রয়োজনীয় সব প্রোগ্রাম ও রিসোর্স ইনস্টল ও কনফিগার করে।

ইনস্টল প্রোগ্রাম ব্যবহার করতে:

  1. ইনস্টলার প্রোগ্রাম রান করুন:

    curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
    
  2. OmniLab ATS CLI-এর ইনস্টল করা ভার্সন চেক করতে mtt version রান করুন।

ম্যানুয়ালি ইনস্টল করুন

Docker ইনস্টল করুন
  1. আপনার Linux মেশিনে Docker Community Edition (CE) ইনস্টল করার নির্দেশাবলী অনুসরণ করুন।

  2. নন-রুট ব্যবহারকারী হিসেবে Docker ম্যানেজ করতে ইনস্টলেশন-পরবর্তী ধাপ অনুসরণ করুন।

  3. অনুমতি সংক্রান্ত পরিবর্তন কার্যকর করার জন্য আপনাকে হয়ত টার্মিনাল উইন্ডো রিস্টার্ট করতে হবে অথবা সাইন-আউট করে আবার সাইন-ইন করতে হবে।

Python 3 ইনস্টল করুন

OmniLab ATS CLI-এর জন্য Ubuntu 22.04 বা তার পরবর্তী যেকোনও ভার্সন প্রয়োজন। CLI, Python ভার্সন ৩.১০ থেকে ৩.১৩-এর সাথে যাচাই করা হয়।

Python 3 ইনস্টল করতে, এই কমান্ডগুলি রান করুন:

sudo apt-get update
sudo apt install python3 python3-distutils

আপনার স্ট্যান্ডার্ড ডিস্ট্রিবিউশনে অন্তর্ভুক্ত নয় এমন Python 3-এর কোনও ভার্সন প্রয়োজন হলে, প্রথমে নিম্নলিখিতগুলির মধ্যে কোনও একটি করে Python 3-এর রিপোজিটরি যোগ করুন:

  • এই কমান্ড রান করুন:

    sudo add-apt-repository ppa:deadsnakes/ppa
    
  • সোর্স থেকে রিপোজিটরি তৈরি ও ইনস্টল করুন।

Python 3-এর কোনও নির্দিষ্ট ভার্সন (যেমন, 3.10) ইনস্টল করতে, এর পরিবর্তে এই কমান্ডগুলি রান করুন:

sudo apt-get update
sudo apt install python3.10 python3.10-distutils

OmniLab ATS CLI ডাউনলোড করুন

এখান থেকে কমান্ড লাইন ইন্টারফেস (CLI) প্যাকেজ ডাউনলোড করুন।

OmniLab ATS শুরু করুন

নিম্নলিখিত কমান্ডের সাহায্যে OmniLab ATS চালু করুন:

mtt start

প্রথমবার UI চালু করার সময়, এটি দেখতে পেতে কয়েক মিনিট সময় লাগতে পারে। ব্রাউজারে UI অ্যাক্সেস করার জন্য CLI একটি ওয়েব URL দেখায়। ডিফল্ট হিসেবে, ওয়েব URL হল localhost:8000। প্রয়োজন হলে, আপনি --port ফ্ল্যাগ ব্যবহার করে স্টার্টআপের সময় ডিফল্ট পোর্ট পরিবর্তন করতে পারেন।

নতুন ভার্সন উপলভ্য থাকলে, আপনি বর্তমান ভার্সনে আপডেট করতে পারবেন। লেটেস্ট রিলিজের জন্য আপনি রিলিজ নোট চেক করতে পারেন।

বর্তমান ভার্সনে আপডেট করতে, এটি রান করুন:

mtt start --force_update

অ্যাপ বন্ধ করতে, রান করুন:

mtt stop

অন্যান্য কমান্ডের তালিকা দেখতে, এটি ব্যবহার করুন:

mtt --help

ডেটাবেসের ব্যাক-আপ নেওয়া ও ফিরিয়ে আনা

OmniLab ATS ডেটাবেসের ব্যাক-আপ নিতে, অ্যাপ বন্ধ করে নিম্নলিখিত কমান্ড রান করুন, যা আপনার হোম ডিরেক্টরিতে mtt-backup.tar নামের TAR ফাইলে বর্তমান ডেটাবেসের ব্যাক-আপ নেয়:

docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar cvf /out/mtt-backup.tar ."

রিস্টোর করতে, অ্যাপ চালু করার আগে নিম্নলিখিত কমান্ড রান করুন:

docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar xvf /out/mtt-backup.tar"

সেটআপ উইজার্ড

আপনি প্রথমবার OmniLab ATS ইনস্টল ও রান করার পরে, সেট-আপ উইজার্ড আপনাকে কয়েকটি ধাপের মাধ্যমে আপনার পরিবেশের জন্য টুল কাস্টমাইজ করতে সাহায্য করে। আপনি এখানে কোনও পরিবর্তন করলে, সেটি পরে সেটিংস পৃষ্ঠা থেকে আবার কনফিগার করতে পারবেন।

কনফিগারেশনের ব্যাক-আপ ফিরিয়ে আনুন

অন্য OmniLab ATS হোস্ট থেকে আপনার কাছে ব্যাক-আপ নেওয়া কনফিগারেশন ফাইল থাকলে, আপনি ফাইল আপলোড করুন বোতামে ক্লিক করে সেই হোস্ট থেকে পরিবর্তিত যেকোনও কনফিগারেশন কপি করার জন্য ফাইলটি আপলোড করতে পারেন।

কনফিগারেশন ব্যাক-আপ ফিরিয়ে আনুন

ছবি ১. কনফিগারেশন ব্যাক-আপ ফিরিয়ে আনা হচ্ছে।

ডিফল্ট পরিষেবা অ্যাকাউন্ট সেট করুন

আপনি একটি পরিষেবা অ্যাকাউন্ট সেট করতে পারেন যা OmniLab ATS আপনার রিসোর্স অ্যাক্সেস করার সময় ডিফল্টরূপে ব্যবহার করে (যেমন, Google Cloud Storage, Google Drive)। আপনার পরিষেবা অ্যাকাউন্ট যাচাই করতে, পরিষেবা অ্যাকাউন্টের কী আপলোড করুন বিকল্পে ক্লিক করুন এবং আপনার পরিষেবা অ্যাকাউন্টের JSON কী ফাইল বেছে নিন।

পরিষেবা অ্যাকাউন্ট সেট করুন

ছবি ২. পরিষেবা অ্যাকাউন্ট সেট করা হচ্ছে।

পরিষেবা অ্যাকাউন্ট যাচাই করা হয়ে গেলে, পৃষ্ঠার উপরে ডানদিকের কোণে অ্যাকাউন্টের ইমেল আইডি দেখা যায়। পরিষেবা অ্যাকাউন্ট পরিবর্তন করতে, অ্যাকাউন্টের নামে ক্লিক করুন, বর্তমান ডিফল্ট অ্যাকাউন্ট সরিয়ে দিন এবং নতুন পরিষেবা অ্যাকাউন্ট কী আপলোড করুন।

পরিষেবা অ্যাকাউন্ট পরিবর্তন করুন

ছবি ৩. পরিষেবা অ্যাকাউন্ট পরিবর্তন করা হচ্ছে।

কনফিগারেশন সেট ইমপোর্ট করুন

কনফিগ সেট হল টেস্ট স্যুট চালানোর জন্য কনফিগের একটি বান্ডেল, যার মধ্যে সংশ্লিষ্ট ডিভাইস অ্যাকশন এবং বিল্ড চ্যানেল অন্তর্ভুক্ত থাকে। কনফিগারেশন সেট নির্দিষ্ট Google Cloud Storage (GCS) বাকেটে হোস্ট করা হয়। আপনার Google অ্যাকাউন্টের মাধ্যমে GCS বিল্ড চ্যানেল যাচাই করার পরে, আপনার জন্য উপলভ্য সব কনফিগারেশন সেটের একটি তালিকা দেখতে পাবেন।

আপনার টেস্ট স্টেশন হোস্টে যোগ করতে চান এমন যেকোনও কনফিগারেশন সেট বেছে নিন এবং বেছে নেওয়া আইটেম ইমপোর্ট করুন বিকল্পে ক্লিক করুন।

কনফিগারেশন সেট ইমপোর্ট করুন

ছবি ৪. কনফিগারেশন সেট ইমপোর্ট করা হচ্ছে।

ওয়াই-ফাই সেটিংস অন্তর্ভুক্ত করুন

কিছু CTS টেস্টের জন্য আপনার ডিভাইসকে ওয়াই-ফাই হটস্পটের সাথে কানেক্ট করতে হয়। আপনার ওয়াই-ফাই নেটওয়ার্ক বেছে নিতে, WiFi SSID এবং ঐচ্ছিক WiFi PSK লিখুন।

ওয়াই-ফাই সেটিংস

ছবি ৫. ওয়াই-ফাই হটস্পট সেটিংস।

সেট-আপ উইজার্ড সম্পূর্ণ করার পরে, নতুন সেটিংস প্রয়োগ করে পৃষ্ঠাটি আবার লোড হয়।

ডিভাইস কানেক্ট করুন

টেস্ট করার জন্য ডিভাইস ব্যবহার করতে হলে, USB ডিবাগিং চালু করতে হবে। ডিবাগিং চালু করতে:

  1. ডেভেলপার বিকল্প এবং ডিবাগিং চালু করুন লিঙ্কে দেওয়া নির্দেশাবলী অনুসরণ করুন।

  2. আপনি যদি কাস্টম ADB কী সহ প্রিলোড করা টেস্ট Android বিল্ড ব্যবহার করার পরিকল্পনা করেন, তাহলে কাস্টম .adb_key ফাইলগুলি ~/.android/ ডিরেক্টরির অধীনে রাখুন।

    ফাইলগুলি অটোমেটিক লোড হয় এবং সেইসব বিল্ডে চলা ডিভাইসের জন্য ডিভাইস ফ্ল্যাশ করার পরে USB ডিবাগিং অটোমেটিক চালু করতে ADB-তে পাস করা হয়।

  3. USB ব্যবহার করে হোস্ট মেশিনের সাথে ডিভাইস কানেক্ট করুন।

    ওয়েব ইন্টারফেস রিফ্রেশ করার এক মিনিটের মধ্যে OmniLab ATS ডিভাইস ট্যাবে ডিভাইসটি দেখা যাবে। এছাড়াও, আপনি এই ট্যাবে ডিভাইসের অবস্থা দেখতে পারবেন।

    ডিভাইস কানেক্ট করুন

    ছবি ৬. ডিভাইস কানেক্ট করা হচ্ছে।

ডিভাইসের বিভিন্ন স্ট্যাটাস হল:

  • উপলভ্য - ডিভাইসটি কানেক্ট করা আছে এবং টেস্ট চালানোর জন্য রেডি।
  • অ্যালোকেট করা হয়েছে - ডিভাইস কানেক্ট করা হয়েছে এবং টেস্ট চলছে। প্রতিটি ডিভাইস একবারে শুধুমাত্র একটি পরীক্ষা চালাতে পারে, তাই ডিভাইসটিকে নতুন পরীক্ষা চালানোর আগে তার বর্তমান পরীক্ষা শেষ করতে হবে।

টেস্ট রান করুন

একটি টেস্ট বেছে নিন

OmniLab ATS-এ আগে থেকে বান্ডেল করা CTS কনফিগারেশনের সেট থাকে। এইসব টেস্টের মধ্যে কোনও একটি রান করতে, টেস্ট স্যুট ট্যাবে যান এবং বেছে নেওয়া টেস্টের জন্য টেস্ট রান করুন বিকল্পে ক্লিক করুন।

একটি টেস্ট বেছে নিন

ছবি ৭. একটি টেস্ট বেছে নেওয়া হচ্ছে।

নতুন টেস্ট এডিট বা যোগ করতে, টেস্ট যোগ করা দেখুন।

টেস্ট রান কনফিগার করুন

এই নির্দিষ্ট টেস্ট রানের জন্য ব্যবহার করতে প্যারামিটার এডিট করুন। বেছে নেওয়া টেস্ট কনফিগারেশনে সংজ্ঞায়িত ভ্যালু দিয়ে বেশিরভাগ প্যারামিটার আগে থেকেই পূরণ করা থাকে।

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

টেস্ট রান কনফিগার করুন

ছবি ৮. টেস্ট রান কনফিগার করা হচ্ছে।

টেস্ট রান প্যারামিটারগুলি হল:

  • নাম - আপনি যে টেস্ট স্যুট চালাতে চান সেটির নাম।
  • রান কাউন্ট - শিডিউল করা হলে এই টেস্ট রান কতবার এক্সিকিউট করা উচিত। ট্রেড ফেডারেশন ব্যবহার করে টেস্ট রান শিডিউল করা হয়, যা ২০টি পর্যন্ত টেস্ট রান সমান্তরালভাবে চালায়, যদি তা করার ক্ষমতা থাকে।
  • সর্বাধিকবার চেষ্টা করা - অন্তত একটি টেস্ট ব্যর্থ হলে, টেস্ট রান করার জন্য সর্বাধিক যতবার চেষ্টা করা যায়। এটি সাধারণত ৪-৬ বার আবার চেষ্টা করার জন্য সেট করা থাকে যাতে সম্পূর্ণ CTS রান ফ্লেকি টেস্ট ম্যানেজ করতে পারে।
  • কিউ টাইমআউট - কোনও টেস্ট রান অনেকক্ষণ ধরে কিউতে থাকলে, সেটি অটোমেটিক বাতিল হয়ে যায়। বাতিল করার আগে কতক্ষণ অপেক্ষা করতে হবে তা এখানে উল্লেখ করুন। ডিফল্ট হল ২৪ ঘণ্টা।
  • কমান্ড - টেস্ট স্যুট রান করার কমান্ড। আপনি এখানে অতিরিক্ত কমান্ড লাইন আর্গুমেন্ট লিখতে পারেন। যেমন, CTS 8.1-এ নির্দিষ্ট মডিউল রান করুন এর সাথে:

    cts-suite -m ShortModuleName
    
  • আবার চেষ্টা করার কমান্ড - টেস্ট স্যুট আবার চেষ্টা করার কমান্ড। আপনি এখানে অতিরিক্ত কমান্ড লাইন আর্গুমেন্ট যোগ করতে পারবেন। যেমন, CTS 8.1-এ শুধুমাত্র একটি নির্দিষ্ট মডিউল আবার চেষ্টা করতে, এটি ব্যবহার করুন:

    cts --retry 0 -m ShortModuleName
    

    আবার চেষ্টা করার আর্গুমেন্ট প্রাথমিক কমান্ডের সাথে উপলভ্য আর্গুমেন্টের থেকে আলাদা হতে পারে, তাই বেছে নেওয়া টেস্ট স্যুটের জন্য অফিসিয়াল সাইটে কাজ করে এমন প্যারামিটার চেক করুন।

  • আগের টেস্ট রান - আপনি আগের টেস্ট রান আবার চালাতে চাইলে:

    • লোকাল - বর্তমান হোস্টে রান শুরু করা হলে, টেস্ট রানের বিবরণ দেখার সময় যে টেস্ট রান আইডি দেখা যায় সেটি লিখুন।

      স্থানীয় আগের টেস্ট রান

      ছবি ৯. লোকাল আগের টেস্ট রান।

    • রিমোট - রান অন্য কোনও হোস্টে শুরু হলে, রিমোট বেছে নিয়ে, টেস্ট ফলাফলের ফাইল আপলোড করুন বিকল্পে ক্লিক করে এবং আপনার লোকাল স্টোরেজ থেকে ফাইল বেছে নিয়ে টেস্ট ফলাফলের ফাইল আপলোড করুন।

      আগের টেস্ট রান সরান

      ছবি ১০. আগের টেস্ট রান সরান।

ডিভাইসগুলি বেছে নিন

টেস্ট স্যুট চালানোর জন্য ডিভাইস বরাদ্দ করতে চেকবক্সে ক্লিক করুন। বেছে নেওয়া ডিভাইসের সংখ্যার সাথে ম্যাচ করার জন্য শার্ডের সংখ্যা অটোমেটিক পরিবর্তন হওয়া উচিত।

ডিভাইস বেছে নিন

ছবি ১১. ডিভাইস বেছে নেওয়া হচ্ছে।

ডিভাইসের সিরিয়াল নম্বর ছাড়া অন্য অ্যাট্রিবিউট দিয়ে ডিভাইস বেছে নিতে, আপনি ম্যানুয়ালি "ডিভাইসের স্পেসিফিকেশন" লিখতে পারেন। যেমন, "bramble" প্রোডাক্টের নাম সহ ৩টি ডিভাইস বেছে নিতে, নিম্নলিখিত তথ্য লিখুন:

product:bramble;product:bramble;product:bramble

কাজ করে এমন অ্যাট্রিবিউটগুলি হল:

  • build_id
  • device_serial
  • device_type
  • হোস্টনেম
  • প্রোডাক্ট
  • product_variant
  • sim_state

টেস্ট রান এক্সিকিউট করার জন্য বেছে নেওয়া সব ডিভাইসকে উপলভ্য অবস্থায় থাকতে হবে, এবং টেস্ট রান এক্সিকিউট করা হলে সেগুলি সব অ্যালোকেট করা অবস্থায় পাল্টে যাবে। ডিভাইস উপলভ্য হওয়ার জন্য অপেক্ষা করার সময় টেস্ট রান সারিতে আছে স্ট্যাটাসে থাকে।

ডিভাইস অ্যাকশন যোগ করুন

ডিভাইস অ্যাকশন হল স্ক্রিপ্ট যা প্রতিটি টেস্ট রান করার আগে এক্সিকিউট করা যেতে পারে। কিছু ডিভাইস অ্যাকশন আগে থেকেই কনফিগার করা থাকে, যেমন ফ্ল্যাশ করা এবং রিবুট করা। নতুন ডিভাইস অ্যাকশন তৈরি করতে, নতুন ডিভাইস অ্যাকশন তৈরি করুন দেখুন।

ডিভাইস ক্রিয়াগুলি

ছবি ১২. ডিভাইস অ্যাকশন।

টেস্ট রানে ডিভাইসের অ্যাকশন যোগ করতে, নতুন অ্যাকশন যোগ করুন বিকল্পে ক্লিক করুন, যে অ্যাকশন যোগ করতে চান তার জন্য চেকবক্স বেছে নিন এবং অ্যাকশন যোগ করুন বিকল্পে ক্লিক করুন। ডিভাইস অ্যাকশন পরপর পারফর্ম করা হয়। আপনি অ্যাকশনগুলি টেনে এনে আবার সাজাতে পারেন।

অ্যাকশন যোগ করুন

ছবি ১৩. অ্যাকশন আবার সাজানো হচ্ছে।

টেস্ট রিসোর্স সেট করুন

টেস্ট রিসোর্স হল টেস্ট রান এক্সিকিউট করার জন্য প্রয়োজনীয় ফাইল। যেমন, CTS রান করার জন্য android-cts*.zip ফাইল প্রয়োজন এবং ডিভাইস ফ্ল্যাশ করার জন্য আপনাকে বিল্ড ইমেজ দিতে হবে।

টেস্ট স্যুট জিপ ফাইলের ডাউনলোড URL ডিফল্ট হিসেবে পার্টনারদের দেওয়া Google Drive লিঙ্ক হতে হবে। ব্রাউজ করুন বিকল্পে ক্লিক করে আপনি অন্য কোনও ফাইল বেছে নিতে পারবেন। পপ-আপ উইন্ডোতে, আপনি ফাইল ডাউনলোড লিঙ্ক লিখতে, যাচাই করা বিল্ড চ্যানেল থেকে ফাইল ব্যবহার করতে অথবা লোকাল স্টোরেজ থেকে ব্যবহার করার জন্য ফাইল আপলোড করতে পারবেন।

টেস্ট রিসোর্স

ছবি ১৪. রিসোর্স পরীক্ষা করুন।

ওয়েব URL-এর মাধ্যমে টেস্ট রিসোর্স বেছে নেওয়ার জন্য পপ-আপ উইন্ডো নিচে দেওয়া হল। আপনি ডাউনলোড URL লিঙ্ক লিখতে পারেন এবং বেছে নেওয়া কনফার্ম করতে বেছে নিন বোতামে ক্লিক করুন।

Test Resource Selector - Web URL

ছবি ১৫. Test Resource Selector - Web URL.

আপনি Google Drive, Google Cloud Storage (GCS) বা অন্যান্য চ্যানেলে রিসোর্স আপলোড করে থাকলে, নির্দিষ্ট চ্যানেলের ট্যাবে গিয়েও রিসোর্স বেছে নিতে পারবেন। Google Drive থেকে রিসোর্স বেছে নেওয়ার একটি উদাহরণ এখানে দেওয়া হল।

Test Resource Selector - Google Drive

ছবি ১৬. Test Resource Selector - Google Drive.

শুধু ফাইল বেছে নেওয়ার পাশাপাশি, ওয়াইল্ডকার্ড অক্ষরও ফাইলের নাম ফিল্ডে কাজ করে। ডকুমেন্টেশন এখানে পাওয়া যাবে।

Test Resource Selector - Wildcard Pattern Support

ছবি ১৭. Test Resource Selector - Wildcard pattern support.

এছাড়াও, আপনি OmniLab ATS-এর লোকাল ফাইল স্টোরেজ থেকে ফাইল বেছে নিতে পারবেন। আপনি এই স্টোরেজে ফাইল আপলোড করতে পারেন, অথবা সরাসরি লোকাল ফাইল এবং ডিরেক্টরি ব্যবহার করতে পারেন।

Test Resource Selector - Local File Store

ছবি ১৮. Test Resource Selector - Local file store.

আবার রান করার কনফিগারেশন যোগ করুন

আপনি প্রাইমারি রান সম্পূর্ণ হওয়ার পরে এবং এর ফলাফল লোড হওয়ার পরে শুরু হওয়া রি-রান শিডিউল করতে পারেন, তবে বিভিন্ন ডিভাইস, অ্যাকশন বা রিসোর্স ব্যবহার করতে পারেন।

আবার রান করার কনফিগারেশন যোগ করুন

ছবি ১৯. আবার রান করার কনফিগারেশন যোগ করা হচ্ছে।

টেস্ট রান শুরু করুন

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

টেস্ট রান শুরু করুন

ছবি ২০. টেস্ট রান শুরু করা হচ্ছে।

একটি টেস্ট প্ল্যান তৈরি করুন

পর্যায়ক্রমিক শিডিউলে টেস্ট রান তৈরি করতে টেস্ট প্ল্যান ব্যবহার করা হয়। যেমন, প্রতিদিন বিকেল ৫টায় CTS 9.0 রান করা। নতুন টেস্ট প্ল্যান তৈরি করতে, নতুন টেস্ট প্ল্যান তৈরি করুন বিকল্পে ক্লিক করুন।

টেস্ট প্ল্যান তৈরি করুন

ছবি ২১. পরীক্ষার প্ল্যান তৈরি করা হচ্ছে।

টেস্ট প্ল্যান কনফিগার করুন

টেস্ট প্ল্যানের নাম এবং আপনি যে লেবেল যোগ করতে চান তা লিখুন। তারপর, ব্যবহার করার জন্য শিডিউল বেছে নিন।

  • ম্যানুয়াল - কোনও ব্যবহারকারী টেস্ট প্ল্যান তালিকার পৃষ্ঠায় টেস্ট প্ল্যান রান করুন বিকল্পে ক্লিক করলে তবেই টেস্ট প্ল্যান টেস্ট রান তৈরি করে।
  • পর্যায়ক্রমিক - টেস্ট প্ল্যানটি বেছে নেওয়া পর্যায়ক্রমিক শিডিউলে অটোমেটিক টেস্ট রান শিডিউল করে। যেমন, প্রতিদিন বিকেল ৫:০০ টায় টেস্ট রান শিডিউল করা।
  • কাস্টম - টেস্ট প্ল্যান অটোমেটিক টেস্ট রান শিডিউল করে, যা ক্রন এক্সপ্রেশন-এর উপর ভিত্তি করে করা হয়। যেমন, প্রতিদিন বিকেল ৫:০০টায় টেস্ট রান শিডিউল করতে, ক্রন এক্সপ্রেশন হল 0 17 * * *।

টেস্ট প্ল্যান কনফিগার করুন

ছবি ২২. একটি টেস্ট প্ল্যান কনফিগার করা হচ্ছে।

টেস্ট স্যুট যোগ করুন

+ টেস্ট রান কনফিগারেশন যোগ করুন বিকল্পে ক্লিক করে টেস্ট প্ল্যানের মাধ্যমে শিডিউল করতে চান এমন টেস্ট স্যুট যোগ করুন। নাম ড্রপডাউন থেকে একটি টেস্ট স্যুট বেছে নিন এবং পরবর্তী ধাপ বিকল্পে ক্লিক করুন। তারপর, আপনি যে ডিভাইসে টেস্ট চালাতে চান সেটি বেছে নিন এবং কনফিগারেশন যোগ করুন বিকল্পে ক্লিক করুন। আপনি প্রতিটি টেস্ট প্ল্যানের জন্য একাধিক কনফিগারেশন যোগ করতে পারবেন।

টেস্ট রান কনফিগার করুন

ছবি ২৩. টেস্ট রান কনফিগার করা হচ্ছে।

ডিভাইস অ্যাকশন যোগ করুন

প্রতিটি টেস্ট রান করার আগে আপনি যে ডিভাইস অ্যাকশন এক্সিকিউট করতে চান তা যোগ করুন। আরও বিবরণের জন্য ডিভাইস অ্যাকশন যোগ করা দেখুন।

ডিভাইস অ্যাকশন যোগ করুন

ছবি ২৪. ডিভাইস অ্যাকশন যোগ করা হচ্ছে।

টেস্ট রিসোর্স সেট করুন

টেস্ট প্ল্যানে টেস্ট রিসোর্স যোগ করা এবং স্বতন্ত্র টেস্ট রানে যোগ করা একই ব্যাপার। আরও জানতে টেস্ট রিসোর্স সেট করা দেখুন।

টেস্ট রিসোর্স সেট করুন

ছবি ২৫. টেস্ট রিসোর্স সেট করা হচ্ছে।

টেস্ট রান দেখুন

টেস্ট রানের তালিকা

'টেস্ট রান' পৃষ্ঠায় শিডিউল করা টেস্ট রানের তালিকা দেখুন। কোনও টেস্ট রান সম্পর্কে আরও বিবরণ দেখতে দেখুন বিকল্পে ক্লিক করুন।

এছাড়াও, ফিল্টার বারে স্ট্রিং লিখে এবং Enter কী প্রেস করে আপনি তালিকা ফিল্টার করতে পারবেন। আপনি কমা দিয়ে আলাদা করে একাধিক ফিল্টার ব্যবহার করতে পারবেন। স্ট্যাটাস এবং তৈরি করা হয়েছে বাদ দিয়ে, ফিল্টারটি এমন সমস্ত সারি দেখায় যাতে যেকোনও কলামে সঠিক টেক্সট (কোনও সাবস্ট্রিং ম্যাচিং নয়) থাকে।

কোনও ফিল্টার না থাকলে সব সারি দেখায়। বর্তমানে ফাঁকা মান সহ সারি ফিল্টার করার কোনও উপায় নেই।

টেস্ট রানের তালিকা

ছবি ২৬. টেস্ট রান তালিকা।

টেস্ট রান সংক্রান্ত বিবরণ

আপনি এখানে টেস্ট রানের বিবরণ দেখতে পারবেন, যেমন স্ট্যাটাস, লগ ও ফলাফল।

টেস্ট রান সংক্রান্ত বিবরণ

ছবি ২৭. টেস্ট রান সংক্রান্ত বিবরণ।

টেস্ট রান স্ট্যাটাস

টেস্ট রানের অগ্রগতি স্ট্যাটাস বিভাগে দেখানো হয়। ডাউনলোডের প্রগ্রেস, বাতিল করার কারণ বা সমস্যার মেসেজের মতো কোনও সম্পর্কিত মেসেজ থাকলে, সেটিও এখানে দেখানো হয়।

টেস্ট রান স্ট্যাটাস

ছবি ২৮. টেস্ট রান স্ট্যাটাস।

টেস্ট রান স্ট্যাটাসগুলি হল:

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

টেস্ট রান বাতিল করা

টেস্ট রান সম্পূর্ণ না হলে, বাতিল করুন বিকল্পে ক্লিক করে আপনি এটি বাতিল করতে পারবেন এবং তারপর কনফার্মেশন ডায়ালগে হ্যাঁ বিকল্পে ক্লিক করুন। এছাড়াও, টেস্ট রান queue_timeout_seconds ফিল্ডের থেকে বেশি সময় ধরে সারিতে থাকলে, তা অটোমেটিক বাতিল হয়ে যায়। চলছে স্ট্যাটাসে থাকা অবস্থায় টেস্ট রান বাতিল করলে সেটি কার্যকর হতে কয়েক মিনিট সময় লাগতে পারে।

টেস্ট রান বাতিল করুন

ছবি ২৯. টেস্ট রান বাতিল করা।

টেস্ট রান ফলাফল

টেস্ট রান শেষ হওয়ার পরে, ফলাফল সংগ্রহ করে দেখানো হয়। প্রতিটি রান-এর জন্য তীরচিহ্নে ক্লিক করে আপনি অতিরিক্ত বিবরণ দেখতে পারবেন। সংগ্রহ করা টেস্ট আর্টিফ্যাক্ট দেখতে আউটপুট ফাইল দেখুন বিকল্পে ক্লিক করুন, যেমন test_result.xml এবং test_result_failures.html।

টেস্ট রান ফলাফল

ছবি ৩০. টেস্ট রান ফলাফল।

আপনি লগ ট্যাবে লাইভ হোস্ট এবং Tradefed লগ দেখতে পারবেন।

টেস্ট রান লগ

ছবি ৩১. লগ ট্যাব।

'পরীক্ষার ফলাফল' ট্যাবে প্রতিটি মডিউলের ফলাফল দেখানো হয়।

পরীক্ষার ফলাফল ট্যাব

ছবি ৩২. পরীক্ষার ফলাফল ট্যাব।

আপনি টেস্ট রিসোর্স ট্যাবে খুলুন বিকল্পে ক্লিক করে টেস্ট রিসোর্স হিসেবে ব্যবহার করা ফাইল ডাউনলোড করতে পারবেন।

টেস্ট রিসোর্স ট্যাব

ছবি ৩৩. রিসোর্স ট্যাব পরীক্ষা করুন।

create_time-এর মতো টেস্ট রানের বিবরণ দেখতে, 'কনফিগারেশন' ট্যাবে যান।

টেস্ট কনফিগ ট্যাব

ছবি ৩৪. কনফিগারেশন ট্যাব।

উন্নত ফিচার

কনফিগ ফাইল ম্যানেজ করুন

OmniLab ATS, YAML-এ লেখা কনফিগারেশন ফাইল ব্যবহার করে টেস্ট, বিল্ড চ্যানেল ও ডিভাইস অ্যাকশনের মতো আগে থেকে নির্ধারিত বিকল্প লোড করে। এখানে একটি কনফিগ ফাইলের উদাহরণ দেওয়া হল:

// example_file.yaml
tests:
- id : android.cts.9_0.arm
  name: CTS 9.0 (ARM)
  test_resource_defs:
  - name: android-cts.zip
    default_download_url: https://dl.google.com/dl/android/cts/android-cts-9.0_r7-linux_x86-arm.zip
    test_resource_type: TEST_PACKAGE
  command: cts
  env_vars:
  - name: TF_PATH
    value: ${TF_WORK_DIR}/android-cts/tools:${TF_WORK_DIR}/android-cts/testcases
  - name: LD_LIBRARY_PATH
    value: ${TF_WORK_DIR}/android-cts/lib:${TF_WORK_DIR}/android-cts/lib64
  setup_scripts:
  output_file_patterns:
  - android-cts/logs/latest/.*
  - android-cts/results/latest/.*\.html
  - android-cts/results/latest/compatibility_result\..*
  - android-cts/results/latest/logo.png
  - android-cts/results/latest/test_result.xml
  result_file: test_result.xml
  java_properties:
  - name: CTS_ROOT
    value: ${TF_WORK_DIR}
  context_file_dir: android-cts/results/
  context_file_pattern: '[\d_\.]+\.zip'
  retry_command_line: retry --retry 0
  runner_sharding_args: --shard-count ${TF_SHARD_COUNT}

build_channels:
- id: google_drive
  name: Google Drive
  provider_name: Google Drive

device_actions:
- id: flash
  name: Flash
  test_resource_defs:
  - name: bootloader.img
    test_resource_type: DEVICE_IMAGE
  - name: radio.img
    test_resource_type: DEVICE_IMAGE
  - name: img.zip
    test_resource_type: DEVICE_IMAGE
  tradefed_target_preparers:
  - class_name: com.android.tradefed.targetprep.RunHostCommandTargetPreparer
    option_values:
    - name: work-dir
      values:
      - ${TF_WORK_DIR}
    - name: host-setup-command
      values:
      - adb -s $SERIAL reboot-bootloader
      - fastboot -s $SERIAL flash bootloader bootloader.img
      - fastboot -s $SERIAL flash radio radio.img
      - fastboot -s $SERIAL reboot-bootloader
      - fastboot -s $SERIAL -w update img.zip
      - adb -s $SERIAL wait-for-device
    - name: host-cmd-timeout
      values:
      - 10m

আপনি OmniLab ATS ইনস্ট্যান্স সেট-আপ করার সময়, ফাইল হিসেবে এক্সপোর্ট করে অন্যান্য ব্যবহারকারীর সাথে আপনার কনফিগারেশন শেয়ার করতে পারবেন। এটি করতে, সেটিংস পৃষ্ঠায় যান এবং উপরে ডানদিকে এক্সপোর্ট করুন বিকল্পে ক্লিক করুন।

কনফিগ ফাইল ম্যানেজমেন্ট

ছবি ৩৫. কনফিগারেশন ফাইল ম্যানেজমেন্ট।

আপনার কনফিগারেশন ফাইল ডাউনলোড করার পরে, অন্যান্য ব্যবহারকারীর সাথে ফাইলটি শেয়ার করুন। তারা ইমপোর্ট করুন বিকল্পে ক্লিক করে এবং কনফিগারেশন ফাইল বেছে নিয়ে OmniLab ATS ইনস্ট্যান্সে কনফিগারেশন ফাইল যোগ করতে পারবেন।

নতুন ডিভাইস অ্যাকশন তৈরি করুন

ডিভাইস সেট-আপ করার প্রসেস অটোমেট করার জন্য ডিভাইস অ্যাকশন ব্যবহার করা হয়। অ্যাকশন হল স্ক্রিপ্ট যা প্রতিটি টেস্ট রান করার আগে, এমনকি আবার চেষ্টা করার আগেও, টেস্ট রান করা হচ্ছে এমন প্রতিটি ডিভাইসে এক্সিকিউট করা হয়। উপলভ্য ডিভাইস অ্যাকশনের তালিকা দেখতে, সেটিংস পৃষ্ঠায় যান এবং ডিভাইস অ্যাকশন ট্যাবে ক্লিক করুন। রিবুট ও ফ্ল্যাশ করার মতো বেশ কিছু ডিভাইস অ্যাকশন আগে থেকেই কনফিগার করা থাকে।

ডিভাইস অ্যাকশন ট্যাব

ছবি ৩৬. ডিভাইস অ্যাকশন ট্যাব।

নতুন ডিভাইস অ্যাকশন যোগ করুন

  1. নতুন ডিভাইস অ্যাকশন বিকল্পে ক্লিক করুন।

    নতুন ডিভাইস অ্যাকশন বোতাম

    ছবি ৩৭. নতুন ডিভাইস অ্যাকশন বোতাম।

  2. নাম ও বিবরণ লিখুন।

    ডিভাইস অ্যাকশনের নাম

    ছবি ৩৮. ডিভাইস অ্যাকশনের নাম।

  3. টার্গেট প্রস্তুতকারী যোগ করুন বিকল্পে ক্লিক করুন।

  4. Trade Federation টার্গেট প্রস্তুতকারীর সম্পূর্ণ ক্লাসের নাম লিখুন, যেমন, com.android.tradefed.targetprep.RunHostCommandTargetPreparer।

    টার্গেট প্রস্তুতকারী যোগ করুন

    ছবি ৩৯. টার্গেট প্রস্তুতকারী যোগ করা হচ্ছে।

    উপলভ্য টার্গেট প্রিপেয়ারারের তালিকা com.android.tradefed.targetprep রেফারেন্সে পাওয়া যাবে।

    টার্গেট প্রস্তুতকারীর তালিকা

    ছবি ৪০. টার্গেট প্রস্তুতকারীর তালিকা।

  5. টার্গেট প্রস্তুতকারীর সাথে ব্যবহার করার জন্য যেকোনও বিকল্প যোগ করুন। উপলভ্য বিকল্প দেখতে, AOSP-তে প্রতিটি টার্গেট প্রিপেয়ারারের সোর্স কোডের জন্য targetprep চেক করুন:

    অ্যাকশন বিকল্পের উদাহরণ

    ছবি ৪১. অ্যাকশন বিকল্পের উদাহরণ।

  6. কোনও বিকল্প যোগ করতে, টার্গেট প্রস্তুতকারক বিকল্প যোগ করুন-এ ক্লিক করুন এবং প্রয়োজনীয় ভ্যালু লিখুন।

    অ্যাকশন কমান্ডের উদাহরণ

    ছবি ৪২. অ্যাকশন কমান্ডের উদাহরণ।

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

    অ্যাকশন টেস্ট রিসোর্স

    ছবি ৪৩. অ্যাকশন টেস্ট রিসোর্স।

  8. আপডেট করুন বিকল্পে ক্লিক করুন।

    পরিবর্তন সেভ করার অ্যাকশন

    ছবি ৪৪. অ্যাকশন পরিবর্তন সেভ করুন।

পরীক্ষা ম্যানেজ করুন

পরীক্ষা এডিট করা

সেভ করা টেস্ট এডিট করতে, টেস্ট পৃষ্ঠায় যান এবং আপনি যে টেস্টটি পরিবর্তন করতে চান সেটির সারিতে এডিট করুন বিকল্পে ক্লিক করুন। টেস্ট কনফিগারেশন পরিবর্তন করার পরে, আপডেট করুন বিকল্পে ক্লিক করুন।

পরীক্ষা এডিট করা

ছবি ৪৫. পরীক্ষা এডিট করা হচ্ছে।

নতুন টেস্ট যোগ করুন

নতুন পরীক্ষা যোগ করতে, 'পরীক্ষা' পৃষ্ঠায় গিয়ে নতুন পরীক্ষা তৈরি করুন বিকল্পে ক্লিক করুন। প্রয়োজনীয় তথ্য লিখুন এবং তৈরি করুন বিকল্পে ক্লিক করুন।

একটি পরীক্ষা তৈরি করুন

ছবি ৪৬. পরীক্ষা তৈরি করা হচ্ছে।

একটি টেস্ট কপি করুন

ছবি ৪৭. একটি টেস্ট কপি করা হচ্ছে।

হোস্ট কনফিগারেশন এক্সপোর্ট করুন

হোস্ট কনফিগার করার পরে, আপনি হোস্টের কনফিগারেশন একটি ফাইলে এক্সপোর্ট করতে পারবেন। সেভ করা কনফিগারেশন কপি করতে আপনি এই ফাইলটি অন্য হোস্টে আপলোড করতে পারেন।

হোস্টের কনফিগারেশন এক্সপোর্ট করতে, সেটিংস পৃষ্ঠায় যান এবং উপরে ডানদিকের কোণে এক্সপোর্ট করুন বিকল্পে ক্লিক করুন।

হোস্ট কনফিগারেশন এক্সপোর্ট করা হচ্ছে

ছবি ৪৮. হোস্ট কনফিগারেশন এক্সপোর্ট করা হচ্ছে।

হোস্ট কনফিগারেশন ফাইল ইমপোর্ট করতে, সেটিংস পৃষ্ঠায় যান এবং উপরে ডানদিকের কোণে ইমপোর্ট করুন বিকল্পে ক্লিক করুন।

হোস্ট কনফিগারেশন ইমপোর্ট করা হচ্ছে

ছবি ৪৯. হোস্ট কনফিগারেশন ইমপোর্ট করা হচ্ছে।

স্থানীয় ফাইল ও ডিরেক্টরি ব্যবহার করুন

R11 ভার্সন থেকে শুরু করে, $HOME/.ats_storage ডিরেক্টরিতে থাকা ফাইলগুলি OmniLab ATS-এ অটোমেটিক অ্যাক্সেস করা যায়। সেই ডিরেক্টরিতে কোনও ফাইল কপি করুন বা সরান, তারপর টেস্ট রান শিডিউল করার সময় আপনি লোকাল ফাইল ট্যাব থেকে এটি বেছে নিতে পারবেন।

cp /path/to/file $HOME/.ats_storage

লোকাল ফাইল বেছে নেওয়া হচ্ছে

ছবি ৫০. $HOME/.ats_storage ডিরেক্টরি থেকে ফাইল বেছে নেওয়া হচ্ছে।

--mount_local_path ফ্ল্যাগ ব্যবহার করে আপনি স্থানীয় ফাইল স্টোরে অতিরিক্ত ডিরেক্টরি মাউন্ট করতে পারবেন।

mtt start --mount_local_path=/path/to/dir1 --mount_local_path=/path/to/dir2:renamed_dir2

অতিরিক্ত মাউন্ট করা ডিরেক্টরি

ছবি ৫১. লোকাল ফাইল স্টোরে মাউন্ট করা অতিরিক্ত ডিরেক্টরি।

মাল্টি-হোস্ট মোড চালু করুন

মাল্টি-হোস্ট মোডের মাধ্যমে, ব্যবহারকারীরা একাধিক ATS ওয়ার্কার হোস্টে ডিভাইস এবং টেস্ট ম্যানেজ করতে একটি ATS কন্ট্রোলার হোস্ট ব্যবহার করতে পারেন।

মাল্টি-হোস্ট মোড আর্কিটেকচার

ছবি ৫২. মাল্টি-হোস্ট মোড আর্কিটেকচার।

  1. ATS কন্ট্রোলার চালু করতে, নিম্নলিখিত কমান্ড ব্যবহার করুন:

    mtt start --operation_mode=ON_PREMISE
    
  2. http://${CONTROLLER_HOSTNAME}:8000-এ কন্ট্রোলার অ্যাক্সেস করা যাচ্ছে কিনা তা চেক করুন।

  3. ওয়ার্কার শুরু করতে, নিম্নলিখিত কমান্ড ব্যবহার করুন:

    mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
    

আপনার নেটওয়ার্ক যদি হোস্টদের একে অপরের সাথে যোগাযোগ করার অনুমতি না দেয়, তাহলে আপনাকে ATS ওয়ার্কারের উপর নিচে দেওয়া আরও উন্নত সেট-আপ নির্দেশাবলী অনুসরণ করতে হবে।

  1. SSH টানেল ব্যবহার করে দুটি হোস্ট কানেক্ট করুন। প্রাইমারি ও ফাইল সার্ভার পোর্টের জন্য পোর্ট বেছে নিন, যেমন, ৯০০০ ও ৯০০৬।

    ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAME
    
  2. ATS কনফিগার ও চালু করুন।

    DOCKER_GATEWAY_IP_ADDRESS=$(ip -4 addr show dev docker0 | grep -Eo 'inet [.0-9]+/' | grep -Eo '[.0-9]+')
    socat tcp-listen:ATS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:ATS_PORT &
    socat tcp-listen:FS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:FS_PORT &
    mtt start --control_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:ATS_PORT \
                    --control_file_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:FS_PORT \
                    --operation_mode=ON_PREMISE
    

ফাইল ক্লিনার

ফাইল ক্লিনার হল একটি ক্রন জব যা ব্যবহারকারীর সংজ্ঞায়িত কনফিগারেশনের উপর ভিত্তি করে ফাইলগুলি পরিষ্কার করার জন্য প্রতি ঘন্টায় চলে। টেস্ট রান ফলাফল আর্কাইভ করতে এবং অস্থায়ী ফাইল মুছে দিতে ATS-এর দুটি ডিফল্ট কনফিগারেশন আছে। আপনার ফাইল কার্যকরভাবে ম্যানেজ করার জন্য কীভাবে নীতি ও কনফিগারেশন কাস্টমাইজ করবেন তা এই নির্দেশিকায় ব্যাখ্যা করা হয়েছে।

নীতি

কোনও নীতি ফাইল বা ডিরেক্টরিতে করা অপারেশন এবং টার্গেট বেছে নেওয়ার মাপকাঠি সংজ্ঞায়িত করে। উপলভ্য অপারেশনগুলি টেবিলে দেখানো হয়েছে:

অপারেশনের ধরনপ্যারামিটার
ARCHIVEremove_file: true হলে, আর্কাইভ করার পরে ফাইলটি সরিয়ে দিন।
DELETE

ফাইলের অ্যাট্রিবিউট ও সিস্টেম তথ্যের উপর ভিত্তি করে মানদণ্ড নির্ধারণ করা হয়। উপলভ্য মাপকাঠি টেবিলে দেখানো হয়েছে:

মাপকাঠির ধরনবর্ণনাপ্যারামিটার
LAST_MODIFIED_TIMEশেষবার পরিবর্তন করার তারিখ ও সময়ের ভিত্তিতে ফাইল ফিল্টার করুন।ttl: বিভিন্ন ধরনের সময় সংক্রান্ত এক্সপ্রেশন কাজ করে, যেমন, 10m, 2h, 7 days, 4w। কোন ফর্ম্যাট কাজ করবে তা জানতে pytimeparse দেখুন।
LAST_ACCESS_TIMEশেষবার অ্যাক্সেস করার তারিখ ও সময়ের ভিত্তিতে ফাইল ফিল্টার করুন।LAST_MODIFIED_TIME-এর মতো একই।
NAME_MATCHরেগুলার এক্সপ্রেশন ব্যবহার করে ফাইলের নামের ভিত্তিতে ফিল্টার করুন।pattern: রেগুলার এক্সপ্রেশন, যেমন, ফলাফল জিপের সাথে ম্যাচ করার জন্য [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip।
SYSTEM_AVAILABLE_SPACEসিস্টেমে উপলভ্য স্পেসের উপর ভিত্তি করে অ্যাকশন ট্রিগার করুন।threshold: উপলভ্য স্পেস থ্রেশহোল্ডের নিচে নেমে গেলে অ্যাকশন ট্রিগার করুন, যেমন, 200(B), 200KB, 200MB, 200GB, 2TB.

ফাইল ক্লিনার সংক্রান্ত নতুন নীতি

ছবি ৫৩. নতুন ফাইল ক্লিনার নীতি যোগ করুন।

কনফিগারেশন

একটি কনফিগারেশন নির্দিষ্ট ডিরেক্টরির সাথে এক বা একাধিক নীতি একত্রিত করে। নির্দিষ্ট ডিরেক্টরির মধ্যে থাকা ফাইল ও ডিরেক্টরিগুলি নির্দিষ্ট নীতির ভিত্তিতে প্রসেস করা হয়। কনফিগারেশনে যেভাবে দেখানো হয় সেই অনুযায়ী নীতি প্রয়োগ করা হয়।

সব টার্গেট ডিরেক্টরি অবশ্যই /data ডিরেক্টরির অধীনে থাকতে হবে। আপনার config-এ টার্গেট ডিরেক্টরি logs হিসেবে উল্লেখ করা থাকলে, এটি /data/logs হিসেবে ব্যাখ্যা করা হয়।

ফাইল ক্লিনার কনফিগ এডিট করুন

ছবি ৫৪. ফাইল ক্লিনার কনফিগারেশন এডিট করুন।

রিসেট করুন

সেটিংস রিসেট করুন বিকল্পে ক্লিক করলে ফাইল ক্লিনার কনফিগারেশন তার ডিফল্ট অবস্থায় ফিরে যায়। এই অ্যাকশন সব কাস্টম আইটেম মুছে দেয়।

ফাইল ক্লিনার সেটিংস রিসেট করুন

ছবি ৫৫. ফাইল ক্লিনার সেটিংস রিসেট করুন।

সহায়তা

সমস্যার রিপোর্ট

OmniLab ATS-এ আপনার কন্ট্রিবিউশন টুলটির ডেভেলপমেন্ট উন্নত করতে সাহায্য করে এবং আমরা আপনার ইনপুট চাই! লেটেস্ট রিলিজ সম্পর্কে বিস্তারিত জানতে OmniLab ATS রিলিজ নোট দেখুন। সমস্যার ব্যাপারে অভিযোগ জানাতে বা সাজেশন দিতে, সমস্যার ব্যাপারে অভিযোগ জানান। পার্টনারদের উচিত তাদের পার্টনার চ্যানেল ব্যবহার করে সমস্যা বা সাজেশন সম্পর্কে জানানো।