ডিভাইস-সাইড মেট্রিক কালেক্টর

ডিভাইস-সাইড টেস্ট (যেমন, ইন্সট্রুমেন্টেশন, UI অটোমেটর টেস্ট) রান করার সময়, হোস্ট-সাইড কালেক্টর আদর্শ নাও হতে পারে কারণ ডিভাইসে রান করা টেস্টের সাথে মেট্রিক কালেকশন সিঙ্ক করা কঠিন। যেমন, অ্যাসিঙ্ক্রোনাসভাবে নেওয়া স্ক্রিনশটে কাঙ্ক্ষিত স্ক্রিনটি মিস হওয়ার সম্ভাবনা থাকে এবং এটি উপযোগী হয় না।

এইসব ব্যবহারিক উদাহরণ পূরণের জন্য, আমাদের কালেক্টরদের একটি ডিভাইস-সাইড ভার্সন আছে এবং যেকোনও AndroidJUnitRunner ইনস্ট্রুমেন্টেশনে ব্যবহার করা যেতে পারে। BaseMetricListener Tradefed রিপোর্টিং পাইপলাইনের সাথে সম্পূর্ণ মানানসই উপায়ে সংগ্রহ করা মেট্রিক অটোমেটিক রিপোর্ট করার জন্য প্রয়োগ করা যেতে পারে।

এই লাইব্রেরিটি Tradefed থেকে আলাদা করা হয়েছে এবং Tradefed ছাড়াই ব্যবহার করা যেতে পারে।

আপনি Tradefed থেকে AndroidJUnitTest রান্নার ব্যবহার করলে, আপনার টেস্টের সাথে কালেক্টর রান করার জন্য নিম্নলিখিত কমান্ড লাইন বিকল্প উল্লেখ করতে পারবেন:

  --device-listeners android.device.collectors.ScreenshotListener
  LOCAL_STATIC_JAVA_LIBRARIES += collector-device-lib

প্রয়োগ

বেস ক্লাসের BaseMetricListener উপরে ইমপ্লিমেন্ট করার সময়, আপনি বেছে নিতে পারবেন যে ইনস্ট্রুমেন্টেশনের লাইফসাইকেল চলাকালীন কখন আপনার মেট্রিক সংগ্রহ করতে চান:

  • টেস্ট রান শুরু হলে: onTestRunStart
  • টেস্ট কেস শুরু হলে: onTestStart
  • টেস্ট কেস শেষ হলে: onTestEnd
  • কোনও টেস্ট কেস ব্যর্থ হলে: onTestFail
  • টেস্ট রান শেষ হলে: onTestRunEnd

ইন্টার‌্যাকশন

ডিভাইস সাইডে মেট্রিক সংগ্রহ করার কাজটি ইনস্ট্রুমেন্টেশন এক্সিকিউশনের সাথে সিঙ্ক্রোনাসভাবে করা হয় এবং মেট্রিকগুলি ইনস্ট্রুমেন্টেশন ফলাফলে ফেরত পাঠানো হয় এবং Tradefed-এর মাধ্যমে পার্স করা হয় যাতে সেগুলি ইনভোকেশনের অংশ হিসেবে রিপোর্ট করা যায়।