CTS যাচাইকারী হোস্ট-সাইড পরীক্ষা চালান

এই পৃষ্ঠায় CTS Verifier (CTS-V) হোস্ট-সাইড Android 16 QPR2 এবং Android 17 টেস্ট সেট আপ ও চালানোর নির্দেশাবলী রয়েছে। হোস্ট-সাইড টেস্ট দুই প্রকারের হয়: মাল্টি-ডিভাইস টেস্ট (যা Android 17-এর আগে চালু হয়েছিল) এবং ইন্টারেক্টিভ টেস্ট (যা Android 17-এ নতুন):

  • মাল্টিডিভাইস টেস্ট হলো সম্পূর্ণ স্বয়ংক্রিয় পরীক্ষা।
  • ইন্টারেক্টিভ টেস্ট হলো আধা-স্বয়ংক্রিয় পরীক্ষা, যার জন্য পরীক্ষাধীন ডিভাইসে (DUT) আপনাকে কিছু ম্যানুয়াল ধাপ সম্পাদন করতে হয়।

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

হোস্ট-সাইড পরীক্ষা সেট আপ করুন

হোস্ট-সাইড টেস্ট সেট আপ করার জন্য এই ধাপগুলো অনুসরণ করুন (একাধিক ডিভাইস টেস্টের জন্য অতিরিক্ত সেটআপ প্রয়োজন):

  1. আপনার ডেস্কটপ মেশিনটি CTS-এর জন্য প্রয়োজনীয় অপারেটিং সিস্টেমের শর্ত পূরণ করে কিনা, তা যাচাই করুন।
  2. আপনার ডেস্কটপে adb, AAPT2, এবং Python সঠিকভাবে ইনস্টল হয়েছে কিনা তা যাচাই করতে 'ডেস্কটপ সফ্টওয়্যার ইনস্টল করুন' -এর ধাপ ২ এবং ৫ অনুসরণ করুন।
    • আপনার পাইথন ভার্সন ৩.১১ বা তার বেশি হওয়া উচিত। আপনার পাইথন ভার্সন জানতে, python3 --version চালান। যদি ভার্সনটি ৩.১১-এর কম হয়, তবে পাইথনের সর্বশেষ অফিশিয়াল রিলিজটি ইনস্টল করুন। আরও তথ্যের জন্য, python.org এর ডাউনলোডস সেকশনটি দেখুন।
    • কিছু পরীক্ষার জন্য হোস্টে পাইথন venv মডিউল থাকা প্রয়োজন। ডেবিয়ান এবং উবুন্টু সিস্টেমে এই মডিউলটি ডিফল্টভাবে ইনস্টল নাও থাকতে পারে। আপনার পাইথন সংস্করণে venv মডিউল আছে কিনা তা জানতে, python3 -m venv venv কমান্ডটি চালান। এই কমান্ডটি ব্যর্থ হলে, একটি ত্রুটির বার্তা দেখানো হবে। python3.x-venv প্যাকেজটি ইনস্টল করার জন্য নির্দেশাবলী অনুসরণ করুন।

আপনি যদি শুধুমাত্র হোস্ট-সাইড ইন্টারেক্টিভ টেস্টগুলো চালাতে চান, তাহলে 'হোস্ট-সাইড টেস্ট চালান ' অংশে যান। তবে, আপনি যদি মাল্টিডিভাইস টেস্ট চালাতে চান, তাহলে 'হোস্ট-সাইড মাল্টিডিভাইস টেস্ট সেট আপ করুন' অংশে যান।

হোস্ট-সাইড মাল্টিডিভাইস পরীক্ষা সেট আপ করুন

হোস্ট-সাইড মাল্টিডিভাইস টেস্ট সেট আপ করতে এই ধাপগুলো অনুসরণ করুন:

  1. আপনার ডেস্কটপ মেশিনটি CTS-এর জন্য প্রয়োজনীয় অপারেটিং সিস্টেমের শর্ত পূরণ করে কিনা, তা যাচাই করুন।
  2. আপনার ডেস্কটপে adb, AAPT2, এবং Python সঠিকভাবে ইনস্টল হয়েছে কিনা তা যাচাই করতে 'ডেস্কটপ সফ্টওয়্যার ইনস্টল করুন' -এর ধাপ ২ এবং ৫ অনুসরণ করুন।

    • আপনার পাইথন ভার্সন ৩.১১ বা তার বেশি হওয়া উচিত। আপনার পাইথন ভার্সন জানতে, python3 --version চালান। যদি ভার্সনটি ৩.১১-এর কম হয়, তবে পাইথনের সর্বশেষ অফিশিয়াল রিলিজটি ইনস্টল করুন। আরও তথ্যের জন্য, python.org এর ডাউনলোডস সেকশনটি দেখুন।
    • কিছু পরীক্ষার জন্য হোস্টে পাইথন venv মডিউল থাকা প্রয়োজন। ডেবিয়ান এবং উবুন্টু সিস্টেমে এই মডিউলটি ডিফল্টভাবে ইনস্টল নাও থাকতে পারে। আপনার পাইথন সংস্করণে venv মডিউল আছে কিনা তা জানতে, python3 -m venv venv কমান্ডটি চালান। এই কমান্ডটি ব্যর্থ হলে, একটি ত্রুটির বার্তা দেখানো হবে। python3.x-venv প্যাকেজটি ইনস্টল করার জন্য নির্দেশাবলী অনুসরণ করুন।
  3. দুটি অভিন্ন DUT প্রস্তুত করুন, যেগুলোর প্রতিটিতে CTS-V সেট আপ করা থাকবে।

  4. আপনার পরীক্ষার ধরনের জন্য সেটআপ বিভাগে যান:

আপনার পরীক্ষাটি যদি এই তালিকায় না থাকে, তাহলে ‘স্ট্যান্ডার্ড দুটি-ডিভাইস পরীক্ষা সেট আপ করুন’ অংশে যান।

NFC পরীক্ষা সেট আপ করুন

NFC পরীক্ষায় একটি DUT এবং একটি PN532 NFC চিপ ব্যবহার করা হয়।

NFC পরীক্ষাগুলি সেট আপ করতে:

  1. একটি PN532 NFC চিপ কিনুন। আমরা অল-ইন-ওয়ান PN532 মডেলটির সুপারিশ করি।
  2. DUT-তে, সেটিংস অ্যাপে যান।
  3. NFC সক্রিয় করুন।
  4. NFC চিপটি স্থাপন করুন:

    • ফোনের জন্য, চিত্র ১-এ দেখানো অনুযায়ী DUT-এর NFC রিডারটি স্থাপন করুন:

      এনএফসি চিপের অবস্থান

      চিত্র ১. এনএফসি চিপের অবস্থান।

    • অন্যান্য ডিভাইসের ক্ষেত্রে, চিপটি ডিভাইসটির NFC অ্যান্টেনার পাশে রাখুন।

  5. একটি ইউএসবি ক্যাবল ব্যবহার করে পিএন৫৩২ এনএফসি চিপটি আপনার টেস্টিং ওয়ার্কস্টেশনের সাথে সংযুক্ত করুন।

ওয়াই-ফাই এপি সংযোগ পরীক্ষা সেট আপ করুন

ওয়াই-ফাই অ্যাক্সেস পয়েন্ট (AP) সংযোগ পরীক্ষা ( CtsWifiConnectionTests ) একটি DUT এবং AP-এর মধ্যে সংযোগ পরীক্ষা করে। আপনি নিম্নলিখিত দুটি উপায়ে এই পরীক্ষাগুলি সেট আপ করতে পারেন:

  • বিকল্প ১: CTS-V-এর জন্য আপনার সেট আপ করা একটি বিদ্যমান ওয়াই-ফাই নেটওয়ার্ক ব্যবহার করুন।
  • বিকল্প ২: একটি প্রোগ্রামেবল অ্যাক্সেস পয়েন্ট (AP) সেট আপ করুন।

অ্যান্ড্রয়েড ১৭-এর জন্য আমরা বিকল্প ২ ব্যবহারের জোরালো পরামর্শ দিই, তবে এটি বাধ্যতামূলক নয়। পরবর্তী দুটি বিভাগে প্রতিটি বিকল্প ব্যাখ্যা করা হয়েছে।

বিকল্প ১: CTS-V এর জন্য আপনার সেট আপ করা একটি বিদ্যমান ওয়াই-ফাই নেটওয়ার্ক ব্যবহার করুন

বিকল্প ১-এর জন্য ওয়াই-ফাই নেটওয়ার্ক কভারেজ এলাকার মধ্যে একটি অ্যান্ড্রয়েড ডিইউটি (DUT) থাকা প্রয়োজন। যদি ডিইউটি-টি একটি শিল্ড বক্সে থাকে এবং ওয়াই-ফাই নেটওয়ার্কের সাথে সংযোগ করতে না পারে, তবে সেটিকে শিল্ড বক্স থেকে সরিয়ে ফেলুন।

বিকল্প ২: একটি প্রোগ্রামেবল এপি সেট আপ করুন

ওয়াই-ফাই সংযোগ পরীক্ষার জন্য একটি প্রোগ্রামেবল এপি সেট আপ করতে:

  1. Banana Pi R3 AP-টি কিনুন এবং সেট আপ করুন। Banana Pi R3 AP কেনা ও সেট আপ করার তথ্যের জন্য, “Banana Pi BPI-R3 AP সেট আপ করুন” দেখুন।

  2. ঐচ্ছিক: যদি আপনার কাছে শিল্ড বক্স না থাকে, তবে আমরা JTP-SR101 শিল্ড বক্সটি ব্যবহারের পরামর্শ দিই। নিম্নলিখিত তথ্য ব্যবহার করে এই বক্সটি কিনুন:

    ডং গুয়ান ঝেং শেং ইলেকট্রনিক্স টেকনোলজি কোং, লিমিটেড
    বোহুই শিল্প পার্ক, পানলং রোড, লিয়াওবু টাউন, ডংগুয়ান সিটি, গুয়াংডং প্রদেশ, চীন
    যোগাযোগ: ফরেস্ট প্যান
    ইমেইল: forest.pan@jtpmak.cn
    ফোন (চীন): +86 18676993556

  3. DUT এবং AP-কে হোস্টের সাথে সংযুক্ত করুন এবং একটি RF শিল্ড বক্সে রাখুন। DUT এবং AP-এর মধ্যে দূরত্ব কমপক্ষে ১০ সেমি হওয়া উচিত। চিত্র ২-এ এই বিন্যাসটি দেখানো হয়েছে:

    শিল্ড বক্সে DUT এবং AP

    চিত্র ২. শিল্ড বক্সে DUT এবং AP।

  4. SSH ব্যবহার করে যাচাই করুন যে AP-টি হোস্ট থেকে অ্যাক্সেসযোগ্য কিনা।

রেঞ্জিং নির্ভুলতা পরীক্ষা সেট আপ করুন

রেঞ্জিং নির্ভুলতা পরীক্ষা স্থাপন করতে:

  1. দুটি একই রকম অ্যান্ড্রয়েড ডিইউটি (DUT) ১ মিটার দূরত্বে, একই উচ্চতায়, সরাসরি দৃষ্টিসীমার মধ্যে এবং ডিভাইস দুটির পিছনের অংশ একে অপরের দিকে মুখ করে রাখুন। চিত্র ৩-এ এই বিন্যাসটি দেখানো হয়েছে:

    ডিভাইসের অভিমুখীকরণ

    চিত্র ৩. ডিভাইসের অভিমুখ।

  2. উভয় ডিভাইসকে ইউএসবি কেবলের মাধ্যমে ডেস্কটপ মেশিনের সাথে সংযুক্ত করুন।

দুটি ডিভাইসের জন্য স্ট্যান্ডার্ড পরীক্ষা সেট আপ করুন

ডিফল্ট দুটি ডিভাইস সেটআপের জন্য:

  1. একই রকম দুটি অ্যান্ড্রয়েড ডিইউটি প্রায় ২০ সেমি দূরত্বে রাখুন।
  2. জোরালোভাবে সুপারিশ করা হচ্ছে: উভয় ডিভাইস একটি শিল্ড বক্সে রাখুন। শিল্ড বক্স পরীক্ষার স্থিতিশীলতা বাড়ায় এবং পরীক্ষার ব্যর্থতা ডিবাগ করা সহজ করে তোলে।

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

  4. ঐচ্ছিক: ওয়াই-ফাই ডিবাগিংয়ের জন্য একটি ওটিএ স্নিফার সেট আপ করুন।

সিডিএম পরীক্ষা সেট আপ করুন

test_permissions_sync() টেস্ট কেসটির আচরণ, যে ডিভাইসগুলিতে পরীক্ষাটি চালানো হয় সেগুলির বিল্ড টাইপের উপর নির্ভর করে ভিন্ন হয়। এটি অত্যন্ত গুরুত্বপূর্ণ যে OEM-রা যেন ডিবাগযোগ্য (userdebug বা eng) এবং ডিবাগ-অযোগ্য (user) উভয় বিল্ডই পরীক্ষা করে এবং উভয়ের ক্ষেত্রেই পরীক্ষা সফল হয়।

ছাড়

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

ডিবাগযোগ্য বিল্ডগুলিতে টেস্টগুলি কোনো ব্যতিক্রম ছাড়াই অবশ্যই পাস করতে হবে।

নন-ডিবাগযোগ্য বিল্ডে পরীক্ষার জন্য পূর্বশর্ত

আপনি যদি অব্যাহতিপ্রাপ্ত না হন, তবে যাচাই করুন যে আপনি নিম্নলিখিত পূর্বশর্তগুলো পূরণ করছেন।

সুরক্ষিত চ্যানেলটি হার্ডওয়্যারের নির্ভরযোগ্যতা যাচাই করার জন্য AVF ( AttestationVerificationFramework ) ব্যবহার করে। উভয় পক্ষের দ্বারা তৈরি অ্যাটেস্টেশনগুলিতে তাদের নিজেদের সম্পর্কে বিভিন্ন তথ্য থাকে, যা যাচাই করে যে তাদের সিস্টেমে কোনো অননুমোদিত পরিবর্তন হয়নি। যাচাইকরণ প্রক্রিয়ার সময় AVF নিম্নলিখিত অবস্থাগুলো পরীক্ষা করে:

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

হোস্ট-সাইড পরীক্ষা চালান

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

  1. আপনার টেস্ট ওয়ার্কস্টেশনে, যে ডিরেক্টরিতে CTS-V জিপ প্যাকেজটি আনজিপ করা হয়েছিল, সেখান থেকে cts-v-host কনসোলটি চালু করুন:

    ./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefed
    
  2. DUT-তে থাকা CTS-V অ্যাপের ভেতর থেকে, ‘Host-side Tests’- এ ক্লিক করুন। চিত্র ৪-এ CTS-V অ্যাপের হোস্ট-সাইড টেস্টগুলো দেখানো হয়েছে:

    CTS-V অ্যাপে হোস্ট-সাইড পরীক্ষা

    চিত্র ৪. CTS-V অ্যাপে হোস্ট-সাইড পরীক্ষাসমূহ।

    হোস্ট-সাইডের মাল্টিডিভাইস টেস্ট মডিউলগুলোর একটি তালিকা প্রদর্শিত হয়।

  3. CTS-V হোস্ট কনসোলে, একটি স্ট্যান্ডার্ড দুই-ডিভাইস সেটআপ ব্যবহার করে মাল্টিডিভাইস টেস্ট চালানোর জন্য নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

    run cts-v-host-multidevice-default
    

    DUT-তে থাকা CTS-V অ্যাপের প্রতিটি টেস্ট মডিউলের অধীনে ফলাফল দেখা যায়। সবুজ চিহ্নযুক্ত টেস্টগুলো পাস করেছে, লাল চিহ্নযুক্ত টেস্টগুলো ফেল করেছে।

    চিত্র ৫-এ CtsCompanionDeviceManager টেস্টগুলোর ফলাফলের উদাহরণ দেখানো হয়েছে:

    CTS-V অ্যাপে হোস্ট-সাইড মাল্টিডিভাইস পরীক্ষার ফলাফল

    চিত্র ৫. CTS-V অ্যাপে হোস্ট-সাইড মাল্টিডিভাইস পরীক্ষার ফলাফল।

  4. CTS-V হোস্ট কনসোলে, ইন্টারেক্টিভ টেস্টগুলো চালানোর জন্য নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

    run cts-v-host-interactive
    

    DUT-তে থাকা CTS-V অ্যাপের প্রতিটি টেস্ট মডিউলের অধীনে ফলাফল দেখা যায়। সবুজ চিহ্নযুক্ত টেস্টগুলো পাস করেছে, লাল চিহ্নযুক্ত টেস্টগুলো ফেল করেছে।

  5. যেসব টেস্টের জন্য অতিরিক্ত সেটআপের প্রয়োজন, সেগুলোর প্রত্যেকটি নিম্নলিখিত কমান্ড ব্যবহার করে আলাদাভাবে চালান:

    run cts-v-host -m test_module_name
    

    উদাহরণস্বরূপ, NFC পরীক্ষাগুলো চালানোর জন্য এই কমান্ডটি ব্যবহার করুন:

    run cts-v-host -m CtsNfcHceMultiDeviceTestCases
    

    DUT-তে থাকা CTS-V অ্যাপের প্রতিটি টেস্ট মডিউলের অধীনে ফলাফল দেখা যায়। সবুজ চিহ্নযুক্ত টেস্টগুলো পাস করেছে, লাল চিহ্নযুক্ত টেস্টগুলো ফেল করেছে।

ওয়াই-ফাই এপি সংযোগ পরীক্ষা চালান

আপনি নিম্নলিখিত দুটি উপায়ে ওয়াই-ফাই এপি সংযোগ পরীক্ষা চালাতে পারেন:

  • বিকল্প ১: CTS-V-এর জন্য আপনার সেট আপ করা একটি বিদ্যমান ওয়াই-ফাই নেটওয়ার্ক ব্যবহার করুন।
  • বিকল্প ২: একটি প্রোগ্রামেবল এপি সেট আপ করুন।

বিকল্প ১: CTS-V এর জন্য আপনার সেট আপ করা একটি বিদ্যমান ওয়াই-ফাই নেটওয়ার্ক ব্যবহার করুন

বিদ্যমান ওয়াই-ফাই নেটওয়ার্কে ওয়াই-ফাই এপি সংযোগ পরীক্ষা চালানোর জন্য:

  1. টেস্টবেড কনফিগারেশন ফাইলটি ( WifiConnectionTestbed.yaml ) সম্পাদনা করুন। এই ফাইলটি সেই ডিরেক্টরিতে রয়েছে যেখানে CTS-Verifier আনজিপ করা হয়েছে। উদাহরণস্বরূপ:

    ./android-cts-verifier/android-cts-v-host/testcases/CtsWifiConnectionTests/x86_64/connection/WifiConnectionTestbed.yaml
    
  2. wifi_ssid এবং wifi_password ফিল্ডগুলোর মান ওয়াই-ফাই নেটওয়ার্কের SSID এবং পাসওয়ার্ড দিয়ে পরিবর্তন করুন। নিচের উদাহরণে এই সেটিংসগুলোর অবস্থান দেখানো হয়েছে:

    TestBeds:
    - Name: WifiConnectionTestbed
    Controllers:
      AndroidDevice: '*'
    TestParams:
      use_programmable_ap: False
      wifi_ssid: WIFI-SSID
      wifi_password: WIFI-PASSWORD
    
  3. CTS-V হোস্ট কনসোলে, নিম্নলিখিত কমান্ডটি চালান:

    run cts-v-host -m CtsWifiConnectionTests
    

বিকল্প ২: প্রোগ্রামেবল এপি দিয়ে চালান

একটি প্রোগ্রামেবল এপি-তে ওয়াই-ফাই এপি সংযোগ পরীক্ষা চালানোর জন্য:

  1. টেস্টবেড কনফিগারেশন ফাইলটি ( WifiConnectionTestbed.yaml ) সম্পাদনা করুন। এই ফাইলটি সেই ডিরেক্টরিতে রয়েছে যেখানে CTS-Verifier আনজিপ করা হয়েছে। উদাহরণস্বরূপ:

    ./android-cts-verifier/android-cts-v-host/testcases/CtsWifiConnectionTests/x86_64/connection/WifiConnectionTestbed.yaml
    
  2. আপনার স্থানীয় SSH সেটিংস অনুসারে, hostname এর মান পরিবর্তন করে AP-এর IP অ্যাড্রেসটি দিন। IP অ্যাড্রেসটি শনাক্ত করতে, "Find the IP address of the AP" দেখুন। নিম্নলিখিত উদাহরণে hostname সেটিং-এর অবস্থান দেখানো হয়েছে:

    TestBeds:
    - Name: WifiConnectionTestbed
      Controllers:
        AndroidDevice: '*'
        # Specify settings for the AP.
        OpenWrtDevice:
        - hostname: AP-IP
          skip_init_reboot: True
      TestParams:
        use_programmable_ap: True
    
  3. CTS-V হোস্ট কনসোলে, নিম্নলিখিত কমান্ডটি চালান:

    run cts-v-host -m CtsWifiConnectionTests
    

ইউএসবি হোস্ট-সাইড পরীক্ষা চালান

অ্যান্ড্রয়েড ১৭-এ ইউএসবি সিটিএস-ভি হোস্ট-সাইড টেস্ট অন্তর্ভুক্ত রয়েছে, যা চালানোর জন্য ওয়াই-ফাই এর মাধ্যমে adb প্রয়োজন।

কিছু USB টেস্টের জন্য CTS-V হোস্ট ব্যবহার করে এমন SystemAPI অ্যাক্সেস করার প্রয়োজন হয়, যেগুলোর পারমিশন সাধারণ CTS-V অ্যাপের নাগালের বাইরে থাকে। এই টেস্টগুলো আনটেদারড এবং এর জন্য Wi-Fi এর মাধ্যমে adb ব্যবহার করতে হয়।

যদি DUT, UsbPort.java তে পোর্ট পার্টনার BC 1.2 টাইপ অথবা USB পাওয়ার প্রোফাইল রিপোর্ট করা সমর্থন করে, তাহলে নিম্নলিখিত Type-C অ্যাক্সেসরিজগুলির প্রয়োজন হবে:

  • একটি ইউএসবি টাইপ-সি পাওয়ার ডেলিভারি (পিডি) চার্জার
  • একটি ইউএসবি ব্যাটারি চার্জিং ১.২ (বিসি ১.২) স্ট্যান্ডার্ড ডাউনস্ট্রিম পোর্ট (এসডিপি)। এই পোর্টগুলো ডিইউটি-কে ৫০০ এমএ বা ৯০০ এমএ পর্যন্ত সরবরাহ করতে সীমাবদ্ধ এবং এগুলো সাধারণত এক্সটার্নাল হাবের ইউএসবি পোর্টে পাওয়া যায়।
  • একটি ইউএসবি বিসি ১.২ চার্জিং ডাউনস্ট্রিম পোর্ট (সিডিপি)। এই পোর্টগুলো ডিইউটি-কে ১.৫ অ্যাম্পিয়ার কারেন্ট এবং ডেটা সরবরাহ করতে পারে। ল্যাপটপ বা কম্পিউটারের টাইপ-সি পোর্টটি সম্ভবত একটি সিডিপি হয়ে থাকে।
  • একটি ইউএসবি বিসি ১.২ ডেডিকেটেড চার্জিং পোর্ট (ডিসিপি)। এই পোর্টগুলো ডেটা ছাড়া ডিইউটি-কে ১.৫ অ্যাম্পিয়ার কারেন্ট সরবরাহ করতে পারে। এই তালিকায় থাকা ইউএসবি টাইপ-সি পিডি চার্জারটি সম্ভবত একটি ডিসিপি হবে।
  1. ওয়াই-ফাই এর মাধ্যমে adb ব্যবহার করে DUT সংযুক্ত করুন। সেটআপের বিস্তারিত জানতে, ওয়াই-ফাই এর মাধ্যমে একটি ডিভাইসের সাথে সংযোগ দেখুন।

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

  3. নিম্নলিখিত টেস্ট কমান্ডটি চালান:

    run cts-v-host -m CtsUsbTypecTestCases
    

পরীক্ষাগুলোর পরে, ফলাফলগুলো CTS-V অ্যাপের 'হোস্ট-সাইড টেস্ট' অংশের মধ্যে প্রদর্শিত হয়, যা নিম্নলিখিত চিত্রগুলিতে দেখানো হয়েছে:

CTS-V অ্যাপে হোস্ট-সাইড ইউএসবি পরীক্ষা

চিত্র ৬। CTS-V অ্যাপে হোস্ট-সাইড ইউএসবি পরীক্ষাসমূহ।

হোস্ট-সাইড USB CTS-V অ্যাপে CtsUsbTypecTestCases স্যুট

চিত্র ৭. হোস্ট-সাইড USB CTS-V অ্যাপে থাকা CtsUsbTypecTestCases স্যুট।

একাধিক ডিভাইস পরীক্ষার সমস্যা সমাধান করুন

এই বিভাগটি আপনাকে সাধারণ সমস্যাগুলো সমাধান করতে সাহায্য করবে।

CtsTelecomTest চলাকালীন ফোন নম্বর পেতে ব্যর্থতা

যদি আপনি Failed to get phone number for <serial> ত্রুটি বার্তাটি পান, তাহলে এই ধাপগুলো অনুসরণ করুন:

  1. যাচাই করুন প্রতিটি ডিইউটি-তে একটি সিম কার্ড ইনস্টল করা আছে।

  2. যদি ত্রুটিটি অব্যাহত থাকে, তাহলে সম্ভবত সিম কার্ডগুলোতে স্বয়ংক্রিয় নম্বর পুনরুদ্ধারের সুবিধা নেই, সেক্ষেত্রে আপনাকে কমান্ডে ফোন নম্বরগুলো স্পষ্টভাবে উল্লেখ করতে হবে।

    উদাহরণস্বরূপ, DUT 1 (সিরিয়াল 17011FDEE0002N , ফোন নম্বর 555-0000 ) এবং DUT 2 (সিরিয়াল R3CN90YNAR , ফোন নম্বর 555-1111 )-এর জন্য, run cts-v-host কমান্ডের সাথে নিম্নলিখিত আর্গুমেন্টগুলি যুক্ত করুন:

    --module-arg CtsTelecomTest:dut_serial:17011FDEE0002N \
    --module-arg CtsTelecomTest:dut_phone_number:555-0000 \
    --module-arg CtsTelecomTest:ref_phone_number:555-1111
    

CtsMultiDeviceGenericRangingAccuracyTests চলাকালীন সার্ভার থেকে কোনও প্রতিক্রিয়া পাওয়া যায়নি

যদি আপনি নিম্নলিখিত ত্রুটি বার্তাটি পান, তাহলে নির্দিষ্ট কিছু ডিভাইসে OEM-নির্দিষ্ট ব্যাকগ্রাউন্ড প্রসেস ম্যানেজমেন্টের কারণে টেস্ট অ্যাপটি ফ্রিজ বা কিল হয়ে যেতে পারে:

mobly.snippet.errors.ProtocolError: <AndroidDevice|Initiator> No response from server. Check the device logcat for crashes.

এই সমস্যাটি সমাধান করতে, ব্যাকগ্রাউন্ড বিধিনিষেধ নিষ্ক্রিয় করুন অথবা নিম্নলিখিত প্যাকেজগুলিকে অনুমতি দিন:

প্যাকেজ প্রদর্শনের নাম
com.google.snippet.uwb CtsUwbSnippetApp
com.google.snippet.ranging CtsRangingSnippetApp
com.google.snippet.bluetooth CtsBluetoothMultiDeviceSnippetApp
com.google.android.mobly.snippet.bundled androidx.multidex.MultDexApplication

NFC পরীক্ষার সময় GetFirmwareVersion-এর জন্য কোনো সাড়া না পাওয়ার সমস্যা সমাধান করুন

মাল্টিডিভাইস টেস্টগুলো চালানোর সময় যদি আপনি verify_firmware_version RuntimeError: No response for GetFirmwareVersion মেসেজটি পান, তাহলে টেস্টগুলো PN532 NFC বোর্ডটি অ্যাক্সেস করতে পারছে না।

এই সমস্যাটি সমাধান করতে, আপনার হোস্টে PN532 NFC বোর্ড দ্বারা ব্যবহৃত সিরিয়াল পাথটি (যেমন dev/ttyUSB1 শনাক্ত করুন, তারপর কনসোলে --module-arg আর্গুমেন্টটি ব্যবহার করে সেটি ম্যানুয়ালি নির্দিষ্ট করে দিন:

run cts-v-host -m CtsNfcHceMultiDeviceTestCases --module-arg CtsNfcHceMultiDeviceTestCases:pn532_serial_path:/dev/ttyUSB1

NFC পরীক্ষার সময় লেনদেন ব্যর্থ হওয়ার ত্রুটি বার্তাটি ঠিক করুন

যদি আপনি সমস্ত NFC টেস্ট কেসের জন্য " Transaction failed, check device logs for more information. বার্তাটি পান, তাহলে সম্ভবত এর কারণ হলো DUT-এর NFC চিপটি PN532-কে শনাক্ত করতে পারছে না।

যদি আপনার হোস্টের সাথে একাধিক ডিভাইস সংযুক্ত থাকে এবং সেগুলোর কয়েকটির উপরে PN532 না থাকে, তাহলে ভুল DUT নির্বাচিত হয়ে থাকতে পারে। আরও তথ্যের জন্য, ‘NFC পরীক্ষা সেট আপ করুন ’ দেখুন।

এই সমস্যাটি সমাধান করতে, নিম্নলিখিতগুলির মধ্যে যেকোনো একটি করুন:

  • -s ফ্ল্যাগ ব্যবহার করে আপনার হোস্ট-সাইড টেস্ট কমান্ডে সঠিক DUT-এর সিরিয়াল সেট করুন।

  • হোস্ট থেকে DUT নয় এমন সমস্ত ডিভাইস সংযোগ বিচ্ছিন্ন করুন।

CDM টেস্ট কেস test_permissions_sync উপেক্ষা করা হয়েছে

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