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