ডিভাইস-সাইড পরীক্ষা চালানোর সময় (উদাহরণস্বরূপ, ইন্সট্রুমেন্টেশন, UI অটোমেটর পরীক্ষা), হোস্ট-সাইড সংগ্রাহকরা আদর্শ নাও হতে পারে কারণ একটি ডিভাইসে চলমান পরীক্ষায় মেট্রিক সংগ্রহকে সিঙ্ক্রোনাইজ করা কঠিন। উদাহরণস্বরূপ, অ্যাসিঙ্ক্রোনাসভাবে নেওয়া একটি স্ক্রিনশট ওয়ান্টেড স্ক্রিন মিস করার এবং অকেজো হওয়ার সম্ভাবনা রয়েছে৷
এই ব্যবহারের ক্ষেত্রে, আমাদের সংগ্রাহকদের একটি ডিভাইস-সাইড সংস্করণ বিদ্যমান এবং যেকোনো AndroidJUnitRunner
উপকরণে ব্যবহার করা যেতে পারে। BaseMetricListener
স্বয়ংক্রিয়ভাবে মেট্রিক্স রিপোর্ট করার জন্য প্রয়োগ করা যেতে পারে যা ট্রেডফেড রিপোর্টিং পাইপলাইনের সাথে সম্পূর্ণরূপে সামঞ্জস্যপূর্ণভাবে সংগ্রহ করা হয়।
এই লাইব্রেরিটি Tradefed থেকে আলাদা করা হয়েছে এবং Tradefed ছাড়াই ব্যবহার করা যেতে পারে।
আপনি যদি Tradefed থেকে AndroidJUnitTest
রানার ব্যবহার করে থাকেন, তাহলে আপনি আপনার সংগ্রাহককে আপনার পরীক্ষার সাথে চালানোর জন্য নিম্নলিখিত কমান্ড লাইন বিকল্পটি নির্দিষ্ট করতে পারেন:
--device-listeners android.device.collectors.ScreenshotListener
LOCAL_STATIC_JAVA_LIBRARIES += collector-device-lib
বাস্তবায়ন
বেস ক্লাস BaseMetricListener
এর উপরে প্রয়োগ করার সময়, আপনি ইন্সট্রুমেন্টেশনের জীবনচক্র চলাকালীন আপনার মেট্রিক্স কখন সংগ্রহ করতে চান তা চয়ন করতে পারেন:
- যখন একটি পরীক্ষা চালানো শুরু হয়:
onTestRunStart
- যখন একটি পরীক্ষার কেস শুরু হয়:
onTestStart
- যখন একটি পরীক্ষার কেস শেষ হয়:
onTestEnd
- যখন একটি পরীক্ষার ক্ষেত্রে ব্যর্থ হয়:
onTestFail
- যখন একটি পরীক্ষা চালানো শেষ হয়:
onTestRunEnd
মিথস্ক্রিয়া
ডিভাইস সাইডে মেট্রিক্সের সংগ্রহটি ইন্সট্রুমেন্টেশন এক্সিকিউশনের সাথেই সিঙ্ক্রোনাসভাবে তৈরি করা হয় এবং মেট্রিকগুলিকে ইনস্ট্রুমেন্টেশন ফলাফলে ফেরত পাঠানো হয় এবং ট্রেডফেড দ্বারা পার্স করা হয় যাতে আমন্ত্রণের অংশ হিসাবে রিপোর্ট করা হয়।