ডিভাইস-সাইড পরীক্ষা চালানোর সময় (ইনস্ট্রুমেন্টেশন, 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
মিথস্ক্রিয়া
ডিভাইস সাইডে মেট্রিক্সের সংগ্রহটি ইন্সট্রুমেন্টেশন এক্সিকিউশনের সাথেই সিঙ্ক্রোনাসভাবে তৈরি করা হয় এবং মেট্রিকগুলিকে ইনস্ট্রুমেন্টেশন ফলাফলে ফেরত পাঠানো হয় এবং ট্রেডফেড দ্বারা পার্স করা হয় যাতে আমন্ত্রণের অংশ হিসাবে রিপোর্ট করা হয়।