অ্যান্ড্রয়েড টেস্ট স্টেশনে ভার্চুয়াল ডিভাইস

অ্যান্ড্রয়েড টেস্ট স্টেশন কাটলফিশ ভার্চুয়াল ডিভাইসগুলিকে সমর্থন করে যা আপনাকে শারীরিক অ্যান্ড্রয়েড ডিভাইস ছাড়াই পরীক্ষা চালাতে দেয়। Cuttlefish হার্ডওয়্যার-স্বাধীন ফাংশন পরীক্ষার জন্য উপযুক্ত। ভার্চুয়াল ডিভাইসগুলি ব্যবহার করা শুরু করার আগে, Android টেস্ট স্টেশন ইনস্টল করতে ব্যবহারকারীর নির্দেশিকা অনুসরণ করুন৷

ATS ভার্চুয়াল ডিভাইস দুটি মোডে সমর্থন করে, স্থানীয় এবং দূরবর্তী। নিম্নলিখিত টেবিল দুটি মোড একটি তুলনা প্রদান করে.

স্থানীয় ভার্চুয়াল ডিভাইস দূরবর্তী ভার্চুয়াল ডিভাইস
এটিএস কর্মী হোস্টদের উপর চলে দূরবর্তী হোস্টে চলে যা ATS কর্মী হোস্টরা SSH এর মাধ্যমে অ্যাক্সেস করতে পারে
x86-ভিত্তিক হোস্টের আর্কিটেকচারের উপর নির্ভর করে x86 বা ARM হতে পারে
সেট আপ করা সহজ সেট আপ করা আরও জটিল

স্থানীয় এবং দূরবর্তী ভার্চুয়াল ডিভাইসগুলি স্বাধীনভাবে সক্রিয় করা যেতে পারে। প্রতিটি মোডের বিশদ বিবরণের জন্য, দেখুন:

স্থানীয় ভার্চুয়াল ডিভাইস সেট আপ করুন

এই বিভাগটি স্থানীয় ভার্চুয়াল ডিভাইসগুলির জন্য ATS সেট আপ করার পদক্ষেপগুলি বর্ণনা করে৷

Cuttlefish নির্ভরতা ইনস্টল করুন

প্রয়োজনীয় কার্নেল মডিউলগুলি লোড করা হয়েছে তা নিশ্চিত করতে নিম্নলিখিত কমান্ডটি চালান:

sudo modprobe -a kvm tun vhost_net vhost_vsock

স্থানীয় ভার্চুয়াল ডিভাইসগুলির সাথে Android টেস্ট স্টেশন শুরু করুন

ATS শুরু করার আগে, নিশ্চিত করুন যে সমস্ত Cuttlefish দৃষ্টান্ত বন্ধ করা হয়েছে। ATS স্বয়ংক্রিয়ভাবে পরীক্ষা চক্রের সময় ভার্চুয়াল ডিভাইসগুলি চালু করে এবং বন্ধ করে দেয় এবং বিদ্যমান Cuttlefish দৃষ্টান্তগুলি ATS দ্বারা পরিচালিত দৃষ্টান্তগুলির সাথে দ্বন্দ্ব করে। কাটলফিশ দৃষ্টান্ত বন্ধ করার বিষয়ে বিস্তারিত জানার জন্য, স্টপ কাটলফিশ দেখুন।

স্থানীয় ভার্চুয়াল ডিভাইস সক্রিয় করতে, চালান:

mtt start --max_local_virtual_devices N

N হল সর্বাধিক সংখ্যক ভার্চুয়াল ডিভাইস যা ATS একই সাথে বরাদ্দ করতে পারে। ডিফল্ট নম্বর 0।

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

দূরবর্তী ভার্চুয়াল ডিভাইস সেট আপ করুন

এই বিভাগটি দূরবর্তী ভার্চুয়াল ডিভাইসগুলির জন্য ATS সেট আপ করার পদক্ষেপগুলি বর্ণনা করে৷

Cuttlefish নির্ভরতা ইনস্টল করুন

Cuttlefish নির্ভরতা ইনস্টল করতে, এই পদক্ষেপগুলি অনুসরণ করুন।

  1. কাটলফিশ > শুরু করুন- এর ধাপগুলি অনুসরণ করে দূরবর্তী হোস্টে ডেবিয়ান প্যাকেজগুলি ইনস্টল করুন।

  2. এই পদক্ষেপগুলি অনুসরণ করে দূরবর্তী হোস্টে সর্বাধিক সংখ্যক ভার্চুয়াল ডিভাইস কনফিগার করুন:

    1. রুট সুবিধা সহ /etc/default/cuttlefish-host-resources সম্পাদনা করুন।
    2. এই হোস্টে অনুমতি দেওয়ার জন্য ভার্চুয়াল ডিভাইসের সর্বাধিক সংখ্যায় num_cvd_accounts সেট করুন।
    3. চালান sudo systemctl restart cuttlefish-host-resources .
    4. ifconfig চালান এবং cvd-wtap-* ইন্টারফেসের সংখ্যা যাচাই করুন।

একটি SSH অ্যাকাউন্ট তৈরি করুন

যেহেতু ATS হোস্ট SSH এর মাধ্যমে দূরবর্তী হোস্টের সাথে সংযোগ করে, তাই আপনাকে অবশ্যই দূরবর্তী হোস্টে একটি SSH অ্যাকাউন্ট প্রস্তুত করতে হবে। যেহেতু ATS HOME ডিরেক্টরিতে ফাইলগুলি পরিচালনা করে, আমরা আপনাকে একটি ডেডিকেটেড অ্যাকাউন্ট তৈরি করার পরামর্শ দিই।

একটি পাসওয়ার্ড ছাড়া দূরবর্তী হোস্টে লগইন করতে ATS হোস্টের এক জোড়া SSH কী প্রয়োজন। নিম্নলিখিত পদক্ষেপগুলি কীভাবে SSH কীগুলি সেট আপ করতে হয় তা বর্ণনা করে:

  1. একটি ব্যক্তিগত কী এবং একটি সর্বজনীন কী তৈরি করতে, ATS হোস্টে ssh-keygen চালান।
  2. রিমোট হোস্টে ~/.ssh/authorized_keys এ সর্বজনীন কী আপলোড করুন এবং যুক্ত করুন।

যদি আপনার SSH অ্যাকাউন্টটি Cuttlefish নির্ভরতা ইনস্টল করার জন্য ব্যবহৃত একটি থেকে আলাদা হয়, SSH অ্যাকাউন্টটিকে Cuttlefish চালু করার অনুমতি দিতে, দূরবর্তী হোস্টে এই কমান্ডটি চালান:

sudo usermod -aG kvm,cvdnetwork,render $USER

দূরবর্তী ভার্চুয়াল ডিভাইসের সাথে এটিএস শুরু করুন

ATS শুরু করার আগে, নিশ্চিত করুন যে সমস্ত Cuttlefish দৃষ্টান্ত বন্ধ করা হয়েছে। ATS স্বয়ংক্রিয়ভাবে পরীক্ষা চক্রের সময় ভার্চুয়াল ডিভাইসগুলি চালু করে এবং বন্ধ করে দেয় এবং বিদ্যমান Cuttlefish দৃষ্টান্তগুলি ATS দ্বারা পরিচালিত দৃষ্টান্তগুলির সাথে দ্বন্দ্ব করে। কাটলফিশ দৃষ্টান্ত বন্ধ করার বিষয়ে বিস্তারিত জানার জন্য, স্টপ কাটলফিশ দেখুন।

ভালো পারফরম্যান্সের জন্য, আমরা স্থানীয় এলাকা নেটওয়ার্কে ATS হোস্ট এবং রিমোট হোস্ট সেট আপ করার পরামর্শ দিই।

দূরবর্তী ভার্চুয়াল ডিভাইস সক্রিয় করতে, ATS হোস্টে এই কমান্ডটি চালান:

mtt start --remote_virtual_devices USER@HOST/N \
--remote_ssh_key KEY

USER হল SSH অ্যাকাউন্টের নাম।

HOST হল দূরবর্তী হোস্টের IPv4 ঠিকানা।

N হল সর্বাধিক সংখ্যক ভার্চুয়াল ডিভাইস যা ATS একই সাথে বরাদ্দ করতে পারে।

KEY হল ATS হোস্টে ব্যক্তিগত SSH কী-এর পথ।

ATS শুরু করার আগে কমান্ডটি দূরবর্তী হোস্টের সাথে সংযোগ পরীক্ষা করে। যদি এটি একটি সতর্ক বার্তা দেখায় যেমন The specified --remote_virtual_devices and --remote_ssh_key are invalid. কনসোলে, আপনার SSH সেটআপ পরীক্ষা করা উচিত।

সম্পদের দ্বন্দ্ব এড়াতে, একটি ATS হোস্ট সর্বাধিক একটি দূরবর্তী হোস্টের সাথে সংযোগ করতে পারে। একাধিক ATS হোস্ট একই সময়ে একটি দূরবর্তী হোস্টের সাথে সংযোগ করতে পারে না।

ভার্চুয়াল ডিভাইসের সাথে একটি পরীক্ষা চালান

এই বিভাগটি স্থানীয় বা দূরবর্তী ভার্চুয়াল ডিভাইসে পরীক্ষা চালানোর পদক্ষেপগুলি বর্ণনা করে।

ডিভাইস নির্বাচন করুন

ডিভাইস তালিকায়, ATS ভার্চুয়াল ডিভাইসগুলিকে তাদের প্রকৃত সিরিয়াল নম্বরের পরিবর্তে স্থানধারক হিসাবে প্রদর্শন করে। স্থানধারকগুলিকে HOSTNAME:স্থানীয় ভার্চুয়াল ডিভাইসের জন্য স্থানীয়-ভার্চুয়াল-ডিভাইস-আইডি বিন্যাসে দেখানো হয়েছে; দূরবর্তী ভার্চুয়াল ডিভাইসের জন্য remote-virtual-ADDRESS-ID । রাজ্যগুলি হয় উপলব্ধ বা বরাদ্দ করা হয়৷ উপলব্ধ অবস্থায় একটি স্থানধারক নির্দেশ করে যে ভার্চুয়াল ডিভাইস চলছে না এবং পরীক্ষার জন্য বরাদ্দ করা যেতে পারে।

ভার্চুয়াল ডিভাইস নির্বাচন করুন

চিত্র 1. ভার্চুয়াল ডিভাইস নির্বাচন করা

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

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

স্থানীয় ভার্চুয়াল ডিভাইস অ্যাকশন

চিত্র 2. স্থানীয় ভার্চুয়াল ডিভাইসের জন্য ডিভাইস কর্ম

রিমোট ভার্চুয়াল ডিভাইস অ্যাকশন

চিত্র 3. দূরবর্তী ভার্চুয়াল ডিভাইসের জন্য ডিভাইস ক্রিয়া

পরীক্ষার সংস্থান সেট করুন

কাটলফিশ ভার্চুয়াল ডিভাইসগুলির জন্য তিনটি পরীক্ষার সংস্থান প্রয়োজন, ভার্চুয়াল মেশিন টুলস, ছবি এবং অ্যাক্লাউড । একটি সাধারণ কাটলফিশ বিল্ডে (উদাহরণস্বরূপ, ci.android.comaosp_cf_x86_64_phone ), ভার্চুয়াল মেশিন টুলগুলি cvd-host_package.tar.gz এ প্যাক করা হয় এবং ছবিগুলি aosp_cf_x86_64_phone-img-*.zip এ থাকে। অ্যাক্লাউড বাইনারি এটিএস-এ নির্মিত এবং কাটলফিশের সমস্ত সংস্করণের সাথে সামঞ্জস্যপূর্ণ। অ্যাক্লাউড বাইনারির ডিফল্ট ডাউনলোড URL শুধুমাত্র ডিবাগিংয়ের উদ্দেশ্যে পরিবর্তন করতে হবে।

ভার্চুয়াল ডিভাইস পরীক্ষা সম্পদ

চিত্র 4. ভার্চুয়াল ডিভাইসের জন্য সম্পদ পরীক্ষা করুন

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

kernel.log , host_log.txt , এবং launcher.log সহ ডিভাইস লগগুলি আউটপুট ফাইল ফোল্ডারে সংগ্রহ করা হয়। তাদের দেখতে আউটপুট ফাইল দেখুন ক্লিক করুন.

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

চিত্র 5. টেস্ট রানের ফলাফল