টেস্ট হারনেস মোড হল Android 10-এ যোগ করা একটি বৈশিষ্ট্য যা তৃতীয় পক্ষের অ্যাপ ডেভেলপারদের জন্য যারা একটি ডিভাইস বা ডিভাইসের একটি বহর স্বয়ংক্রিয় করতে চায়। বৈশিষ্ট্যটি একটি অ্যান্ড্রয়েড ডিভাইসে সমস্ত ব্যবহারকারীর ডেটা মুছে ফেলার, ADB কীগুলি ধরে রাখার এবং সমস্ত প্রথম-বারের সেটআপ স্ক্রিনগুলি এড়িয়ে যাওয়ার একটি পদ্ধতি সরবরাহ করে। এটি ব্যবহারকারীকে কোনো ম্যানুয়াল ইন্টারঅ্যাকশন ছাড়াই স্টার্টআপের পরপরই একটি UI পরীক্ষা চালাতে সক্ষম করে।
কাস্টমাইজেশন
আপনি ActivityManager.isRunningInUserTestHarness()
চেক করে একটি ডিভাইস টেস্ট হারনেস মোডে আছে কিনা তা নির্ধারণ করতে পারেন। সর্বনিম্ন কাস্টমাইজেশন রাখুন; সেটআপ স্ক্রীন (কীবোর্ড বা সেটআপ উইজার্ডে) এড়িয়ে যাওয়ার মতো জিনিসগুলিতে সীমাবদ্ধ করুন যা UI পরীক্ষাগুলি ভঙ্গ করবে বা ম্যানুয়াল ইন্টারঅ্যাকশনের প্রয়োজন হবে৷
বাস্তবায়ন
PersistentDataBlockService
এর ডিফল্ট বাস্তবায়ন PersistentDataBlockManagerInternal
এ রয়েছে। টেস্ট হারনেস মোড TestHarnessModeService
এ প্রয়োগ করা হয়েছে।
টেস্ট হারনেস মোডের ডিফল্ট বাস্তবায়ন ফ্যাক্টরি রিসেট সুরক্ষার মতো একই স্টোরেজ মেকানিজম ব্যবহার করে একটি স্থায়ী পার্টিশনে সাময়িকভাবে ADB কী সংরক্ষণ করতে। ফ্যাক্টরি রিসেট সুরক্ষা সহ একটি স্থায়ী পার্টিশন ইতিমধ্যেই পরীক্ষা ডিভাইসে প্রয়োগ করা হলে, বৈশিষ্ট্যটিকে সমর্থন করার জন্য সামান্য থেকে কোন কাজ করার প্রয়োজন নেই।
যে OEMগুলির একটি স্থায়ী পার্টিশন সেট আপ নেই তাদের TestHarnessModeService
চালানোর আগে PersistentDataBlockManagerInternal
প্রয়োগ করতে হবে।
টেস্ট হারনেস মোডের অবস্থা পরীক্ষা করা হচ্ছে
যখন টেস্ট হারনেস মোড সক্ষম করা হয়, ActivityManager.isRunningInUserTestHarness()
true
ফেরত দেয়।
পরীক্ষা জোতা মোড চলমান
টেস্ট হারনেস মোড সক্ষম করলে ডিভাইস থেকে সমস্ত ডেটা মুছে যায় এবং ডিভাইসটিকে পরীক্ষার জন্য সেট আপ করে৷ এর মানে হল যে ডিভাইসের সমস্ত অংশ যা পরীক্ষায় হস্তক্ষেপ করতে পারে (যেমন স্বয়ংক্রিয়-সিঙ্কিং অ্যাকাউন্ট, প্যাকেজ যাচাইকরণ, এবং স্বয়ংক্রিয় আপডেট) সেগুলি ডিফল্টরূপে অক্ষম থাকে তবে ব্যবহারকারীর দ্বারা পুনরায় সক্ষম হতে পারে।
টেস্ট হারনেস মোড সক্ষম করতে adb
কমান্ড চালান:
adb shell cmd testharness enable