টেস্টিং ডিভাইস প্রভিশনিং, টেস্টিং ডিভাইস প্রোভিশনিং

সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।

Android 6 বা Android 7 চালিত ডিভাইসগুলির জন্য, আপনি Android এন্টারপ্রাইজ (AE) টেস্ট হারনেস ব্যবহার করে ডিভাইসের বিধান পরীক্ষা করতে পারেন, যা Android ডিভাইসের এন্টারপ্রাইজ সামঞ্জস্য যাচাই করার জন্য একটি পরীক্ষামূলক স্যুট। জোতা সমর্থন অ্যাপ্লিকেশন, টেস্ট কেস, কনফিগারেশন ফাইল, এবং cts-tradefed-এ নির্মিত একটি পরীক্ষা রানার ( afw-test-tradefed ) cts-tradefed করে। AE টেস্ট হারনেস সেট আপ করার আগে, ডিভাইস অ্যাডমিনিস্ট্রেশনের জন্য প্রভিশনিং সম্পূর্ণ করতে ভুলবেন না।

Android 8 বা উচ্চতর সংস্করণে চলমান ডিভাইসগুলির জন্য, AE টেস্ট হারনেস ব্যবহার বাতিল করা হয়েছে৷

একটি উন্নয়ন পরিবেশ স্থাপন

AE টেস্ট হারনেসের জন্য ডেভেলপমেন্ট এনভায়রনমেন্ট অ্যান্ড্রয়েড ওএসের মতো। একটি ডেভেলপমেন্ট মেশিন সেট আপ করার জন্য প্রয়োজনীয়তার ধাপগুলি অনুসরণ করুন।

সোর্স কোড ডাউনলোড করা হচ্ছে

উৎস ডাউনলোড করার ধাপগুলি ব্যবহার করে AE টেস্ট হারনেস সোর্স কোড ডাউনলোড করুন । AE টেস্ট হারনেস সোর্স কোডটি ./test/AfwTestHarness প্রকল্পে রয়েছে। শাখার নাম ডাউনলোড করার জন্য AE টেস্ট হারনেসের সংস্করণ নির্ধারণ করে (প্রতিটি অ্যান্ড্রয়েড প্ল্যাটফর্মে AE টেস্ট হারনেসের আলাদা সংস্করণ রয়েছে)। উদাহরণস্বরূপ, Android 7.0 Nougat-এর শাখার নাম হল afw-test-harness-nougat-dev । এই শাখার জন্য রেপো শুরু করতে এবং সোর্স কোড ডাউনলোড করতে, নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন:

mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
repo init -u https://android.googlesource.com/platform/manifest -b afw-test-harness-nougat-dev
repo sync -j24

একটি ভিন্ন সংস্করণের জন্য সোর্স কোড পরীক্ষা করতে, সংশ্লিষ্ট ট্যাগ সহ শাখা নির্দিষ্ট করুন। উপলব্ধ শাখা অন্তর্ভুক্ত:

শাখার নাম সমর্থিত অ্যান্ড্রয়েড প্ল্যাটফর্ম
afw-test-harness-nougat-dev অ্যান্ড্রয়েড 7.0
afw-test-harness-2.1 অ্যান্ড্রয়েড 7.0
afw-test-harness-marshmallow-dev অ্যান্ড্রয়েড 6.0
afw-test-harness-1.5 অ্যান্ড্রয়েড 6.0

জোতা নির্মাণের জন্য প্রয়োজনীয় অন্যান্য নির্ভরতা প্রকল্পগুলিও সোর্স কোডের সাথে ডাউনলোড করা হয়।

অ্যান্ড্রয়েড স্টুডিওতে দেখা হচ্ছে

অ্যান্ড্রয়েড স্টুডিওতে সোর্স কোড দেখতে এবং সম্পাদনা করতে:

  1. make idegen
    development/tools/idegen/idegen.sh
    
    নিম্নলিখিত কমান্ডগুলি চালান
  2. অ্যান্ড্রয়েড স্টুডিওতে, android.ipr খুলুন।

AE টেস্ট হারনেস সোর্স কোড test/AfwTestHarness এ রয়েছে।

AE টেস্ট জোতা কনফিগার করা হচ্ছে

আপনি test/AfwTestHarness/afw-test.props কনফিগার করে জোতা কাস্টমাইজ করতে পারেন। সফলভাবে জোতা চালানোর জন্য, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. নিম্নলিখিত বৈশিষ্ট্য সহ afw-test.props এ Wi-Fi নেটওয়ার্ক কনফিগার করুন:
    wifi_ssid
    wifi_password (optional)
    wifi_security_type (optional, available options are: NONE, WEP or WPA)
    
  2. একটি ডোমেন থেকে অন্তত একটি অ্যাকাউন্ট প্রাপ্ত করুন যেটি ডিভাইস নীতি নিয়ন্ত্রক হিসাবে DPC পরীক্ষা করতে বাধ্য৷ নিম্নলিখিত বৈশিষ্ট্য সহ afw-test.props এ বিস্তারিত উল্লেখ করুন:
    work_account_username
    work_account_password
    

    AE টেস্ট হারনেস প্রভিশনিং ফ্লো পরীক্ষা করার জন্য টেস্ট DPC ব্যবহার করে, তাই টেস্ট হার্নেস চালানোর জন্য অ্যাকাউন্টগুলি অবশ্যই টেস্ট DPC-এর সাথে আবদ্ধ হতে হবে।

AE টেস্ট জোতা তৈরি করা

ব্যবহার করে বিল্ড কনফিগারেশন শুরু করুন:

source build/envsetup.sh
lunch

একটি ডিভাইসের ধরন নির্বাচন করুন এবং এন্টার টিপুন

ব্যবহার করে জোতা তৈরি করুন:

make afw-test-harness -j32

এটি একটি ডিরেক্টরি তৈরি করে ( out/host/linux-x86/afw-th/android-cts ) সমস্ত প্রয়োজনীয় বাইনারি, কনফিগারেশন ফাইল এবং পরীক্ষার জোতা চালানোর জন্য সরঞ্জাম সহ। এই ডিরেক্টরিটি বিতরণের জন্য একটি ফাইলে ( out/host/linux-x86/afw-th/android-afw-test-harness.zip ) জিপ করা হয়েছে।

AE টেস্ট হারনেস চালানো

AE টেস্ট হারনেস চালানোর জন্য নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করুন:

  1. আপনার বিল্ড এনভায়রনমেন্টে, ব্যবহার করে টেস্ট রানার চালু করুন:
    afw-test-tradefed
    
    এটি cts-tf কনসোল শুরু করে, out/host/linux-x86/afw-th/android-cts থেকে টেস্ট প্ল্যান, টেস্ট কেস এবং afw-test.props লোড করে। out/host/linux-x86/afw-th/android-cts
  2. android-afw-test- android-afw-test-harness.zip এর আনজিপ করা ফোল্ডার থেকে টেস্ট রানারটি চালু করুন:
    cts-tf> ./android‐cts/tools/afw-test‐tradefed
    
    এটি android-cts -cts ডিরেক্টরি থেকে টেস্ট প্ল্যান, টেস্ট কেস এবং afw-test.props লোড করে। নিশ্চিত করুন ./android‐cts/repository/testcases/afw-test.props এ কাজের অ্যাকাউন্ট এবং ওয়াই-ফাই কনফিগারেশন আছে।
  3. একটি পরীক্ষা পরিকল্পনা চালান। প্রতিটি পরীক্ষার পরিকল্পনা হল একটি XML ফাইল যাতে AfwTestHarness/tests টেস্ট প্যাকেজ ডিরেক্টরি থেকে পরীক্ষা প্যাকেজের একটি সেট থাকে। সাধারণ পরিকল্পনা অন্তর্ভুক্ত:
    • afw-userdebug-build . ইউজারডিবাগ বিল্ডের প্রয়োজন এমন সমস্ত পরীক্ষা প্যাকেজ রয়েছে।
    • afw-user-build । একটি ব্যবহারকারী বিল্ডে চলে কিন্তু প্রাথমিক সেটআপ সম্পূর্ণ করা এবং USB ডিবাগিং সক্ষম করা সহ পরীক্ষার ডিভাইসটি সঠিকভাবে সেট আপ করা প্রয়োজন৷

    পরীক্ষার পরিকল্পনা afw-userdebug-build , ব্যবহার করুন:
    cts-tf> run cts --plan afw-userdebug-build
    
    সমস্ত পরীক্ষার পরিকল্পনা দেখতে, কমান্ড list plans ব্যবহার করুন। পরিকল্পনার সংজ্ঞা দেখতে, out/host/linux-x86/afw-th/android-cts/repository/plans
  4. একটি পরীক্ষা প্যাকেজ চালান. একটি একক পরীক্ষা প্যাকেজ চালানোর জন্য,
    cts-tf> run cts --package com.android.afwtest.NfcProvisioning
    
    ব্যবহার করুন সমস্ত প্যাকেজ দেখতে, কমান্ড list packages ব্যবহার করুন। আরও বিকল্পের জন্য, run cts --help কমান্ডটি ব্যবহার করুন।

AE টেস্ট হারনেস ডিবাগ করা হচ্ছে

afw-test-tradefed কনসোলে ( cts cts-tf ) সমস্ত কমান্ড চালান, যা আপনি afw-test-tradefed চালানোর মাধ্যমে চালু করতে পারেন।

  • -l INFO বা -l DEBUG পতাকাগুলির সাথে আরও তথ্য প্রদর্শন করুন৷ উদাহরণ:
    cts-tf> run cts ‐‐plan afw-userdebug-build -l DEBUG
    
  • -s পতাকা সহ একটি নির্দিষ্ট ডিভাইসে পরীক্ষা জোতা চালান। উদাহরণ:
    cts-tf> run cts ‐‐plan afw-userdebug-build -l DEBUG -s device_sn
    
  • --all-devices পতাকা সহ সমস্ত সংযুক্ত ডিভাইসে পরীক্ষা জোতা চালান। উদাহরণ:
    cts-tf> run cts ‐‐plan afw-userdebug-build -l DEBUG --all-devices
    
  • list invocations বা li ব্যবহার করে বর্তমান চলমান মৃত্যুদন্ড দেখুন।
  • list results বা lr ব্যবহার করে অতীতের পরীক্ষা সম্পাদনের সারসংক্ষেপ দেখুন।
  • help list ব্যবহার করে অন্যান্য list কমান্ড দেখুন।
  • afwtest ব্যবহার করে ফিল্টার সহ রিয়েল-টাইম logcat মনিটর করুন, তারপর অন্য টার্মিনাল খুলুন এবং ব্যবহার করে logcat শুরু করুন: adb logcat | grep afwtest . একটি পরীক্ষা শেষ হওয়ার পরে:
    • লগ ইন দেখুন out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time । সম্পূর্ণ ডিভাইস logcat এবং হোস্ট লগ ( afw-test-tradefed logs) আলাদা জিপ ফাইলে সংরক্ষিত হয়।
    • afwtest-এর জন্য ডিভাইস logcat অনুসন্ধান করে প্রাসঙ্গিক তথ্য খুঁজুন। উদাহরণ: zless out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time /device_logcat_ random-number .zip | grep afwtest
    • সম্পূর্ণ afw-test-tradefed লগ দেখতে, ব্যবহার করুন: zless out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time /host_log_ random-number .zip
  • একটি পরীক্ষা প্যাকেজ UI পৃষ্ঠাগুলির মধ্য দিয়ে গিয়ে এবং প্রতিটি পৃষ্ঠার জন্য ডিভাইস logcat ফাইলে একটি নেভিগেশন লগ রেকর্ড করে একটি এন্টারপ্রাইজ প্রভিশনিং প্রবাহ স্বয়ংক্রিয় করে। উদাহরণ: afwtest.AutomationDriver: Navigating:com.android.afwtest.uiautomator.pages.gms.AddAccountPage
    টেস্ট প্যাকেজ com.android.afwtest.NfcProvisioning এর জন্য UI পৃষ্ঠাগুলির মধ্যে রয়েছে:
    • com.android.afwtest.uiautomator.pages.managedprovisioning.NfcProvisioningPage
    • com.android.afwtest.uiautomator.pages.PageSkipper
    • com.android.afwtest.uiautomator.pages.LandingPage
  • প্রভিশনিং প্রক্রিয়া চলাকালীন একটি পরীক্ষা ব্যর্থ হলে, logcat-এ একটি ত্রুটি রয়েছে:
    TestRunner: java.lang.RuntimeException: Failed to load page: com.android.afwtest.uiautomator.pages.packageinstaller.DeviceAccessPage
    
    এটি সাধারণত পূর্ববর্তী UI পৃষ্ঠায় বা লোড হতে ব্যর্থ পৃষ্ঠার ত্রুটির কারণে ঘটে, তাই এই ত্রুটির আগে logcat-এ অন্যান্য ত্রুটির বার্তা খুঁজে বের করার চেষ্টা করুন , তারপর প্রভিশনিং প্রবাহ অনুসরণ করে ম্যানুয়ালি এটি পুনরুত্পাদন করার চেষ্টা করুন।
  • যদি একটি পরীক্ষা প্যাকেজ ব্যর্থ হয়:
    • নিম্নলিখিত সিনট্যাক্স ব্যবহার করে একটি স্ক্রিনশট out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time এ সংরক্ষিত হয়: screenshot-test_ test_class_full_name _ test_case_name - random_number .png । এই তথ্য হোস্ট লগ ইন করা হয়.
    • একটি বাগ রিপোর্ট out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time হিসাবে সংরক্ষিত হয়: bug- test_class_full_name _ test_case_name - random_number .zip
  • সমস্ত পরীক্ষা প্যাকেজ কার্যকর করার পরে, একটি স্ক্রিনশট নেওয়া হয় এবং out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time এইভাবে সংরক্ষণ করা হয়: screenshot- random_number .png । এই তথ্য হোস্ট লগ ইন করা হয়.

FAQ

আমি কি ইউজার বিল্ডের সাথে ফ্ল্যাশ করা ডিভাইসে afw-userdebug-build টেস্ট প্ল্যান চালাতে পারি?

না। afw-userdebug-build প্ল্যান ফ্যাক্টরিতে টেস্ট প্যাকেজগুলি প্রকৃত পরীক্ষা প্রবাহ চালানোর আগে টেস্টিং ডিভাইসটি রিসেট করে এবং স্বয়ংক্রিয়ভাবে সক্ষম হওয়ার জন্য adb ডিবাগিং প্রয়োজন। একটি ব্যবহারকারী বিল্ডের সাথে, শুধুমাত্র বিকাশকারী বিকল্পগুলিতে ম্যানুয়ালি সেটিং পরিবর্তন করে adb ডিবাগিং সক্ষম করা যেতে পারে।

আমি কি ইউজারডিবাগ বিল্ড সহ ফ্ল্যাশ করা একটি ডিভাইসে টেস্ট প্ল্যান afw-user-build চালাতে পারি?

হ্যাঁ, কিন্তু আমরা সুপারিশ করি যে আপনি এই পরীক্ষা পরিকল্পনাটি ব্যবহারকারী বিল্ডে চালান।

কখনও কখনও আমার পরীক্ষা ব্যর্থ হয় কারণ UI লোডিং খুব বেশি সময় নেয়। আমি এটা কিভাবে ঠিক করবো?

./android-cts/repository/testcases/afw-test.propstimeout_size সেটিং কনফিগার করুন। বৈধ সেটিংস হল: S, M, L, XL, XXL।

পরীক্ষা প্যাকেজ com.android.afwtest.NfcProvisioning (বা SuwDoProvisioning ) আমার ডিভাইসে ব্যর্থ হয় কারণ ইনস্টল করা প্রাথমিক সেটআপটি প্রভিশনিং সম্পূর্ণ হওয়ার পরে কাস্টমাইজড UI (যেমন শর্তাবলী) দেখায়। আমি কিভাবে এই কাস্টমাইজড UI এড়িয়ে যেতে পারি?

প্রভিশনিং প্রক্রিয়ার পরে ন্যূনতম UI থাকা উচিত। পরীক্ষার জোতা স্বয়ংক্রিয়ভাবে এই ধরনের UI এড়িয়ে যাবে যদি UI-তে অর্থপূর্ণ পাঠ্য বা বিষয়বস্তুর বিবরণ থাকে যেটিতে নিম্নলিখিত শব্দগুলির মধ্যে যেকোনো একটি থাকে: Skip, Finish, Done, Accept, Agree, Next, Continue, or Proceed। বিকল্পভাবে, আপনি আপনার UI এড়িয়ে যাওয়ার জন্য পরীক্ষার জোতা কনফিগার করতে afw-test.props এ একটি বোতাম সংজ্ঞায়িত করতে পারেন। উদাহরণ:

oem_widgets=your_btn
your_btn.text=your_customized_text
your_btn.package=your_package
your_btn.action=click

একাধিক উইজেট সংজ্ঞায়িত করতে, কমা ব্যবহার করে আলাদা করুন।

পরীক্ষা প্যাকেজ com.android.afwtest.NfcProvisioning (বা SuwDoProvisioning ) ব্যর্থ হয়েছে এবং শেষ UI স্ক্রীনটি হল "আপনার অ্যাকাউন্ট যাচাই করুন।" কেন এটি ঘটবে এবং কিভাবে আমি টেস্টিং ডিভাইস পুনরুদ্ধার করতে পারি?

এই ব্যর্থতা ঘটে কারণ পূর্ববর্তী পরীক্ষা প্যাকেজ পরীক্ষার শেষে ফ্যাক্টরি রিসেট সুরক্ষা সাফ করতে ব্যর্থ হয়। ডিভাইসটি আনলক করতে আপনাকে অবশ্যই অ্যাকাউন্টটি ম্যানুয়ালি প্রবেশ করতে হবে।

আমার ডিভাইস ফ্যাক্টরি রিসেট করতে আরো সময় প্রয়োজন. আমি কি ফ্যাক্টরি রিসেটের সময়সীমা বাড়াতে পারি?

হ্যাঁ. afw-test.propsfactory_reset_timeout_min সেটিং কনফিগার করুন। বৈধ সেটিংস মিনিটের মধ্যে; আপনি আপনার ডিভাইসের সাথে কাজ করে এমন যেকোনো মিনিট সেট করতে পারেন।

,

Android 6 বা Android 7 চালিত ডিভাইসগুলির জন্য, আপনি Android এন্টারপ্রাইজ (AE) টেস্ট হারনেস ব্যবহার করে ডিভাইসের বিধান পরীক্ষা করতে পারেন, যা Android ডিভাইসের এন্টারপ্রাইজ সামঞ্জস্য যাচাই করার জন্য একটি পরীক্ষামূলক স্যুট। জোতা সমর্থন অ্যাপ্লিকেশন, টেস্ট কেস, কনফিগারেশন ফাইল, এবং cts-tradefed-এ নির্মিত একটি পরীক্ষা রানার ( afw-test-tradefed ) cts-tradefed করে। AE টেস্ট হারনেস সেট আপ করার আগে, ডিভাইস অ্যাডমিনিস্ট্রেশনের জন্য প্রভিশনিং সম্পূর্ণ করতে ভুলবেন না।

Android 8 বা উচ্চতর সংস্করণে চলমান ডিভাইসগুলির জন্য, AE টেস্ট হারনেস ব্যবহার বাতিল করা হয়েছে৷

একটি উন্নয়ন পরিবেশ স্থাপন

AE টেস্ট হারনেসের জন্য ডেভেলপমেন্ট এনভায়রনমেন্ট অ্যান্ড্রয়েড ওএসের মতো। একটি ডেভেলপমেন্ট মেশিন সেট আপ করার জন্য প্রয়োজনীয়তার ধাপগুলি অনুসরণ করুন।

সোর্স কোড ডাউনলোড করা হচ্ছে

উৎস ডাউনলোড করার ধাপগুলি ব্যবহার করে AE টেস্ট হারনেস সোর্স কোড ডাউনলোড করুন । AE টেস্ট হারনেস সোর্স কোডটি ./test/AfwTestHarness প্রকল্পে রয়েছে। শাখার নাম ডাউনলোড করার জন্য AE টেস্ট হারনেসের সংস্করণ নির্ধারণ করে (প্রতিটি অ্যান্ড্রয়েড প্ল্যাটফর্মে AE টেস্ট হারনেসের আলাদা সংস্করণ রয়েছে)। উদাহরণস্বরূপ, Android 7.0 Nougat-এর শাখার নাম হল afw-test-harness-nougat-dev । এই শাখার জন্য রেপো শুরু করতে এবং সোর্স কোড ডাউনলোড করতে, নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন:

mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
repo init -u https://android.googlesource.com/platform/manifest -b afw-test-harness-nougat-dev
repo sync -j24

একটি ভিন্ন সংস্করণের জন্য সোর্স কোড পরীক্ষা করতে, সংশ্লিষ্ট ট্যাগ সহ শাখা নির্দিষ্ট করুন। উপলব্ধ শাখা অন্তর্ভুক্ত:

শাখার নাম সমর্থিত অ্যান্ড্রয়েড প্ল্যাটফর্ম
afw-test-harness-nougat-dev অ্যান্ড্রয়েড 7.0
afw-test-harness-2.1 অ্যান্ড্রয়েড 7.0
afw-test-harness-marshmallow-dev অ্যান্ড্রয়েড 6.0
afw-test-harness-1.5 অ্যান্ড্রয়েড 6.0

জোতা নির্মাণের জন্য প্রয়োজনীয় অন্যান্য নির্ভরতা প্রকল্পগুলিও সোর্স কোডের সাথে ডাউনলোড করা হয়।

অ্যান্ড্রয়েড স্টুডিওতে দেখা হচ্ছে

অ্যান্ড্রয়েড স্টুডিওতে সোর্স কোড দেখতে এবং সম্পাদনা করতে:

  1. make idegen
    development/tools/idegen/idegen.sh
    
    নিম্নলিখিত কমান্ডগুলি চালান
  2. অ্যান্ড্রয়েড স্টুডিওতে, android.ipr খুলুন।

AE টেস্ট হারনেস সোর্স কোড test/AfwTestHarness এ রয়েছে।

AE টেস্ট জোতা কনফিগার করা হচ্ছে

আপনি test/AfwTestHarness/afw-test.props কনফিগার করে জোতা কাস্টমাইজ করতে পারেন। সফলভাবে জোতা চালানোর জন্য, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. নিম্নলিখিত বৈশিষ্ট্য সহ afw-test.props এ Wi-Fi নেটওয়ার্ক কনফিগার করুন:
    wifi_ssid
    wifi_password (optional)
    wifi_security_type (optional, available options are: NONE, WEP or WPA)
    
  2. একটি ডোমেন থেকে অন্তত একটি অ্যাকাউন্ট প্রাপ্ত করুন যেটি ডিভাইস নীতি নিয়ন্ত্রক হিসাবে DPC পরীক্ষা করতে বাধ্য৷ নিম্নলিখিত বৈশিষ্ট্য সহ afw-test.props এ বিস্তারিত উল্লেখ করুন:
    work_account_username
    work_account_password
    

    AE টেস্ট হারনেস প্রভিশনিং ফ্লো পরীক্ষা করার জন্য টেস্ট DPC ব্যবহার করে, তাই টেস্ট হার্নেস চালানোর জন্য অ্যাকাউন্টগুলি অবশ্যই টেস্ট DPC-এর সাথে আবদ্ধ হতে হবে।

AE টেস্ট জোতা তৈরি করা

ব্যবহার করে বিল্ড কনফিগারেশন শুরু করুন:

source build/envsetup.sh
lunch

একটি ডিভাইসের ধরন নির্বাচন করুন এবং এন্টার টিপুন

ব্যবহার করে জোতা তৈরি করুন:

make afw-test-harness -j32

এটি একটি ডিরেক্টরি তৈরি করে ( out/host/linux-x86/afw-th/android-cts ) সমস্ত প্রয়োজনীয় বাইনারি, কনফিগারেশন ফাইল এবং পরীক্ষার জোতা চালানোর জন্য সরঞ্জাম সহ। এই ডিরেক্টরিটি বিতরণের জন্য একটি ফাইলে ( out/host/linux-x86/afw-th/android-afw-test-harness.zip ) জিপ করা হয়েছে।

AE টেস্ট হারনেস চালানো

AE টেস্ট হারনেস চালানোর জন্য নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করুন:

  1. আপনার বিল্ড এনভায়রনমেন্টে, ব্যবহার করে টেস্ট রানার চালু করুন:
    afw-test-tradefed
    
    এটি cts-tf কনসোল শুরু করে, out/host/linux-x86/afw-th/android-cts থেকে টেস্ট প্ল্যান, টেস্ট কেস এবং afw-test.props লোড করে। out/host/linux-x86/afw-th/android-cts
  2. android-afw-test- android-afw-test-harness.zip এর আনজিপ করা ফোল্ডার থেকে টেস্ট রানারটি চালু করুন:
    cts-tf> ./android‐cts/tools/afw-test‐tradefed
    
    এটি android-cts -cts ডিরেক্টরি থেকে টেস্ট প্ল্যান, টেস্ট কেস এবং afw-test.props লোড করে। নিশ্চিত করুন ./android‐cts/repository/testcases/afw-test.props এ কাজের অ্যাকাউন্ট এবং ওয়াই-ফাই কনফিগারেশন আছে।
  3. একটি পরীক্ষা পরিকল্পনা চালান। প্রতিটি পরীক্ষার পরিকল্পনা হল একটি XML ফাইল যাতে AfwTestHarness/tests টেস্ট প্যাকেজ ডিরেক্টরি থেকে পরীক্ষা প্যাকেজের একটি সেট থাকে। সাধারণ পরিকল্পনা অন্তর্ভুক্ত:
    • afw-userdebug-build . ইউজারডিবাগ বিল্ডের প্রয়োজন এমন সমস্ত পরীক্ষা প্যাকেজ রয়েছে।
    • afw-user-build । একটি ব্যবহারকারী বিল্ডে চলে কিন্তু প্রাথমিক সেটআপ সম্পূর্ণ করা এবং USB ডিবাগিং সক্ষম করা সহ পরীক্ষার ডিভাইসটি সঠিকভাবে সেট আপ করা প্রয়োজন৷

    পরীক্ষার পরিকল্পনা afw-userdebug-build , ব্যবহার করুন:
    cts-tf> run cts --plan afw-userdebug-build
    
    সমস্ত পরীক্ষার পরিকল্পনা দেখতে, কমান্ড list plans ব্যবহার করুন। পরিকল্পনার সংজ্ঞা দেখতে, out/host/linux-x86/afw-th/android-cts/repository/plans
  4. একটি পরীক্ষা প্যাকেজ চালান. একটি একক পরীক্ষা প্যাকেজ চালানোর জন্য,
    cts-tf> run cts --package com.android.afwtest.NfcProvisioning
    
    ব্যবহার করুন সমস্ত প্যাকেজ দেখতে, কমান্ড list packages ব্যবহার করুন। আরও বিকল্পের জন্য, run cts --help কমান্ডটি ব্যবহার করুন।

AE টেস্ট হারনেস ডিবাগ করা হচ্ছে

afw-test-tradefed কনসোলে ( cts cts-tf ) সমস্ত কমান্ড চালান, যা আপনি afw-test-tradefed চালানোর মাধ্যমে চালু করতে পারেন।

  • -l INFO বা -l DEBUG পতাকাগুলির সাথে আরও তথ্য প্রদর্শন করুন৷ উদাহরণ:
    cts-tf> run cts ‐‐plan afw-userdebug-build -l DEBUG
    
  • -s পতাকা সহ একটি নির্দিষ্ট ডিভাইসে পরীক্ষা জোতা চালান। উদাহরণ:
    cts-tf> run cts ‐‐plan afw-userdebug-build -l DEBUG -s device_sn
    
  • --all-devices পতাকা সহ সমস্ত সংযুক্ত ডিভাইসে পরীক্ষা জোতা চালান। উদাহরণ:
    cts-tf> run cts ‐‐plan afw-userdebug-build -l DEBUG --all-devices
    
  • list invocations বা li ব্যবহার করে বর্তমান চলমান মৃত্যুদন্ড দেখুন।
  • list results বা lr ব্যবহার করে অতীতের পরীক্ষা সম্পাদনের সারসংক্ষেপ দেখুন।
  • help list ব্যবহার করে অন্যান্য list কমান্ড দেখুন।
  • afwtest ব্যবহার করে ফিল্টার সহ রিয়েল-টাইম logcat মনিটর করুন, তারপর অন্য টার্মিনাল খুলুন এবং ব্যবহার করে logcat শুরু করুন: adb logcat | grep afwtest . একটি পরীক্ষা শেষ হওয়ার পরে:
    • লগ ইন দেখুন out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time । সম্পূর্ণ ডিভাইস logcat এবং হোস্ট লগ ( afw-test-tradefed logs) আলাদা জিপ ফাইলে সংরক্ষিত হয়।
    • afwtest-এর জন্য ডিভাইস logcat অনুসন্ধান করে প্রাসঙ্গিক তথ্য খুঁজুন। উদাহরণ: zless out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time /device_logcat_ random-number .zip | grep afwtest
    • সম্পূর্ণ afw-test-tradefed লগ দেখতে, ব্যবহার করুন: zless out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time /host_log_ random-number .zip
  • একটি পরীক্ষা প্যাকেজ UI পৃষ্ঠাগুলির মধ্য দিয়ে গিয়ে এবং প্রতিটি পৃষ্ঠার জন্য ডিভাইস logcat ফাইলে একটি নেভিগেশন লগ রেকর্ড করে একটি এন্টারপ্রাইজ প্রভিশনিং প্রবাহ স্বয়ংক্রিয় করে। উদাহরণ: afwtest.AutomationDriver: Navigating:com.android.afwtest.uiautomator.pages.gms.AddAccountPage
    টেস্ট প্যাকেজ com.android.afwtest.NfcProvisioning এর জন্য UI পৃষ্ঠাগুলির মধ্যে রয়েছে:
    • com.android.afwtest.uiautomator.pages.managedprovisioning.NfcProvisioningPage
    • com.android.afwtest.uiautomator.pages.PageSkipper
    • com.android.afwtest.uiautomator.pages.LandingPage
  • প্রভিশনিং প্রক্রিয়া চলাকালীন একটি পরীক্ষা ব্যর্থ হলে, logcat-এ একটি ত্রুটি রয়েছে:
    TestRunner: java.lang.RuntimeException: Failed to load page: com.android.afwtest.uiautomator.pages.packageinstaller.DeviceAccessPage
    
    এটি সাধারণত পূর্ববর্তী UI পৃষ্ঠায় বা লোড হতে ব্যর্থ পৃষ্ঠার ত্রুটির কারণে ঘটে, তাই এই ত্রুটির আগে logcat-এ অন্যান্য ত্রুটির বার্তা খুঁজে বের করার চেষ্টা করুন , তারপর প্রভিশনিং প্রবাহ অনুসরণ করে ম্যানুয়ালি এটি পুনরুত্পাদন করার চেষ্টা করুন।
  • যদি একটি পরীক্ষা প্যাকেজ ব্যর্থ হয়:
    • নিম্নলিখিত সিনট্যাক্স ব্যবহার করে একটি স্ক্রিনশট out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time এ সংরক্ষিত হয়: screenshot-test_ test_class_full_name _ test_case_name - random_number .png । এই তথ্য হোস্ট লগ ইন করা হয়.
    • একটি বাগ রিপোর্ট out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time হিসাবে সংরক্ষিত হয়: bug- test_class_full_name _ test_case_name - random_number .zip
  • সমস্ত পরীক্ষা প্যাকেজ কার্যকর করার পরে, একটি স্ক্রিনশট নেওয়া হয় এবং out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time এইভাবে সংরক্ষণ করা হয়: screenshot- random_number .png । এই তথ্য হোস্ট লগ ইন করা হয়.

FAQ

আমি কি ইউজার বিল্ডের সাথে ফ্ল্যাশ করা ডিভাইসে afw-userdebug-build টেস্ট প্ল্যান চালাতে পারি?

না। afw-userdebug-build প্ল্যান ফ্যাক্টরিতে টেস্ট প্যাকেজগুলি প্রকৃত পরীক্ষা প্রবাহ চালানোর আগে টেস্টিং ডিভাইসটি রিসেট করে এবং স্বয়ংক্রিয়ভাবে সক্ষম হওয়ার জন্য adb ডিবাগিং প্রয়োজন। একটি ব্যবহারকারী বিল্ডের সাথে, শুধুমাত্র বিকাশকারী বিকল্পগুলিতে ম্যানুয়ালি সেটিং পরিবর্তন করে adb ডিবাগিং সক্ষম করা যেতে পারে।

আমি কি ইউজারডিবাগ বিল্ড সহ ফ্ল্যাশ করা একটি ডিভাইসে টেস্ট প্ল্যান afw-user-build চালাতে পারি?

হ্যাঁ, কিন্তু আমরা সুপারিশ করি যে আপনি এই পরীক্ষা পরিকল্পনাটি ব্যবহারকারী বিল্ডে চালান।

কখনও কখনও আমার পরীক্ষা ব্যর্থ হয় কারণ UI লোডিং খুব বেশি সময় নেয়। আমি এটা কিভাবে ঠিক করবো?

./android-cts/repository/testcases/afw-test.propstimeout_size সেটিং কনফিগার করুন। বৈধ সেটিংস হল: S, M, L, XL, XXL।

পরীক্ষা প্যাকেজ com.android.afwtest.NfcProvisioning (বা SuwDoProvisioning ) আমার ডিভাইসে ব্যর্থ হয় কারণ ইনস্টল করা প্রাথমিক সেটআপটি প্রভিশনিং সম্পূর্ণ হওয়ার পরে কাস্টমাইজড UI (যেমন শর্তাবলী) দেখায়। আমি কিভাবে এই কাস্টমাইজড UI এড়িয়ে যেতে পারি?

প্রভিশনিং প্রক্রিয়ার পরে ন্যূনতম UI থাকা উচিত। পরীক্ষার জোতা স্বয়ংক্রিয়ভাবে এই ধরনের UI এড়িয়ে যাবে যদি UI-তে অর্থপূর্ণ পাঠ্য বা বিষয়বস্তুর বিবরণ থাকে যেটিতে নিম্নলিখিত শব্দগুলির মধ্যে যেকোনো একটি থাকে: Skip, Finish, Done, Accept, Agree, Next, Continue, or Proceed। বিকল্পভাবে, আপনি আপনার UI এড়িয়ে যাওয়ার জন্য পরীক্ষার জোতা কনফিগার করতে afw-test.props এ একটি বোতাম সংজ্ঞায়িত করতে পারেন। উদাহরণ:

oem_widgets=your_btn
your_btn.text=your_customized_text
your_btn.package=your_package
your_btn.action=click

একাধিক উইজেট সংজ্ঞায়িত করতে, কমা ব্যবহার করে আলাদা করুন।

পরীক্ষা প্যাকেজ com.android.afwtest.NfcProvisioning (বা SuwDoProvisioning ) ব্যর্থ হয়েছে এবং শেষ UI স্ক্রীনটি হল "আপনার অ্যাকাউন্ট যাচাই করুন।" কেন এটি ঘটবে এবং কিভাবে আমি টেস্টিং ডিভাইস পুনরুদ্ধার করতে পারি?

এই ব্যর্থতা ঘটে কারণ পূর্ববর্তী পরীক্ষা প্যাকেজ পরীক্ষার শেষে ফ্যাক্টরি রিসেট সুরক্ষা সাফ করতে ব্যর্থ হয়। ডিভাইসটি আনলক করতে আপনাকে অবশ্যই অ্যাকাউন্টটি ম্যানুয়ালি প্রবেশ করতে হবে।

আমার ডিভাইস ফ্যাক্টরি রিসেট করতে আরো সময় প্রয়োজন. আমি কি ফ্যাক্টরি রিসেটের সময়সীমা বাড়াতে পারি?

হ্যাঁ. afw-test.propsfactory_reset_timeout_min সেটিং কনফিগার করুন। বৈধ সেটিংস মিনিটের মধ্যে; আপনি আপনার ডিভাইসের সাথে কাজ করে এমন যেকোনো মিনিট সেট করতে পারেন।