BugreportCollector

public class BugreportCollector
extends Object implements ITestInvocationListener

java.lang.Object
com.android.tradefed.result.BugreportCollector


ITestInvocationListener تمريري يقوم بتجميع تقارير الأخطاء عند حدوث أحداث قابلة للتكوين ثم يقوم باستدعاء ITestInvocationListener#testLog على أبنائه بعد جمع كل تقرير خطأ.

السلوكيات: (FIXME: أنهي هذا)

  • التقط بعد كل حالة فشل فيها أي اختبار
  • التقط بعد كل حالة اختبار
  • الالتقاط بعد كل حالة اختبار فاشلة
  • يأسر

ملخص

فصول متداخلة

class BugreportCollector.Predicate

مسند كامل يصف متى يتم التقاط تقرير الأخطاء.

interface BugreportCollector.SubPredicate

مجالات

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

مسند محدد مسبقًا يتم تشغيله بعد كل حالة اختبار فاشلة

public static final BugreportCollector.Predicate AT_START

مسند محدد مسبقًا يتم تشغيله عند بدء الاستدعاء الأول

المقاولين العامة

BugreportCollector ( ITestInvocationListener listener, ITestDevice testDevice)

الأساليب العامة

void addPredicate ( BugreportCollector.Predicate p)
void blockUntilIdle ()

قم بالحظر حتى لا يقوم المجمع بجمع أي تقارير عن الأخطاء.

TestSummary getSummary ()

يسمح لـ InvocationListener بإرجاع ملخص.

void invocationEnded (long elapsedTime)

تقارير تفيد بأن الاستدعاء قد تم إنهاؤه، سواء بنجاح أو بسبب خطأ ما.

void invocationFailed (Throwable cause)

يُبلغ عن استدعاء غير مكتمل بسبب بعض حالات الخطأ.

void invocationStarted ( IInvocationContext context)

تقارير بداية استدعاء الاختبار.

void setAsynchronous (boolean asynchronous)

قم بتعيين ما إذا كان يجب على مجموعة تقارير الأخطاء جمع تقرير الأخطاء في موضوع مختلف ( asynchronous = true )، أو حظر المتصل حتى يتم التقاط تقرير الأخطاء ( asynchronous = false ).

void setDescriptiveName (String name)

قم بتعيين الاسم الوصفي لاستخدامه عند تسجيل تقارير الأخطاء.

void setDeviceWaitTime (int waitTime)

اضبط الوقت (بالثواني) لانتظار اتصال الجهاز بالإنترنت قبل أن نحاول التقاط تقرير الأخطاء.

void testAssumptionFailure ( TestDescription test, String trace)

يتم استدعاؤها عندما يشير الاختبار الذري إلى أنها تفترض حالة خاطئة

void testEnded ( TestDescription test, testMetrics) testEnded ( TestDescription test, testMetrics)

يُبلغ عن نهاية تنفيذ حالة اختبار فردية.

void testFailed ( TestDescription test, String trace)

الإبلاغ عن فشل حالة اختبار فردية.

void testIgnored ( TestDescription test)

يتم استدعاؤه عندما لا يتم تشغيل الاختبار، وذلك بشكل عام بسبب إضافة تعليقات توضيحية لطريقة الاختبار باستخدام org.junit.Ignore.

void testLog (String dataName, LogDataType dataType, InputStreamSource dataStream)

يوفر السجل المرتبط أو بيانات التصحيح من استدعاء الاختبار.

void testRunEnded (long elapsedTime, runMetrics) testRunEnded (long elapsedTime, runMetrics)

تقارير نهاية التشغيل التجريبي.

void testRunFailed (String errorMessage)

فشل تشغيل اختبار التقارير بسبب حدوث خطأ فادح.

void testRunStarted (String runName, int testCount)

يُعلن عن بداية التشغيل التجريبي.

void testRunStopped (long elapsedTime)

توقف التشغيل التجريبي للتقارير قبل اكتماله بناءً على طلب المستخدم.

void testStarted ( TestDescription test)

تقارير بداية حالة اختبار فردية.

مجالات

AFTER_FAILED_TESTCASES

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

مسند محدد مسبقًا يتم تشغيله بعد كل حالة اختبار فاشلة

في البداية

public static final BugreportCollector.Predicate AT_START

مسند محدد مسبقًا يتم تشغيله عند بدء الاستدعاء الأول

المقاولين العامة

BugreportCollector

public BugreportCollector (ITestInvocationListener listener, 
                ITestDevice testDevice)

حدود
listener ITestInvocationListener

testDevice ITestDevice

الأساليب العامة

addPredicate

public void addPredicate (BugreportCollector.Predicate p)

حدود
p BugreportCollector.Predicate

blockUntilIdle

public void blockUntilIdle ()

قم بالحظر حتى لا يقوم المجمع بجمع أي تقارير عن الأخطاء. إذا لم يكن المجمع يقوم بجمع تقرير الأخطاء بشكل فعال، فقم بالعودة على الفور

getSummary

public TestSummary getSummary ()

يسمح لـ InvocationListener بإرجاع ملخص.

عائدات
TestSummary TestSummary يلخص التشغيل، أو فارغ

انتهت الدعوة

public void invocationEnded (long elapsedTime)

تقارير تفيد بأن الاستدعاء قد تم إنهاؤه، سواء بنجاح أو بسبب خطأ ما.

سيتم استدعاؤه تلقائيًا بواسطة إطار عمل TradeFederation.

حدود
elapsedTime long : الوقت المنقضي للاستدعاء في مللي ثانية

فشل الاستدعاء

public void invocationFailed (Throwable cause)

يُبلغ عن استدعاء غير مكتمل بسبب بعض حالات الخطأ.

سيتم استدعاؤه تلقائيًا بواسطة إطار عمل TradeFederation.

حدود
cause Throwable : السبب Throwable للفشل

invocationStarted

public void invocationStarted (IInvocationContext context)

تقارير بداية استدعاء الاختبار.

سيتم استدعاؤه تلقائيًا بواسطة إطار عمل TradeFederation. يحتاج المراسلون إلى تجاوز هذه الطريقة لدعم التقارير على أجهزة متعددة.

حدود
context IInvocationContext : معلومات حول الاستدعاء

setAsynchronous

public void setAsynchronous (boolean asynchronous)

قم بتعيين ما إذا كان يجب على مجموعة تقارير الأخطاء جمع تقرير الأخطاء في موضوع مختلف ( asynchronous = true )، أو حظر المتصل حتى يتم التقاط تقرير الأخطاء ( asynchronous = false ).

حدود
asynchronous boolean

setDescriptiveName

public void setDescriptiveName (String name)

قم بتعيين الاسم الوصفي لاستخدامه عند تسجيل تقارير الأخطاء. إذا كانت null ، فسيعود BugreportCollector إلى السلوك الافتراضي المتمثل في إجراء تسلسل لاسم الحدث الذي تسبب في جمع تقرير الأخطاء.

حدود
name String

setDeviceWaitTime

public void setDeviceWaitTime (int waitTime)

اضبط الوقت (بالثواني) لانتظار اتصال الجهاز بالإنترنت قبل أن نحاول التقاط تقرير الأخطاء. إذا كانت النتيجة سلبية، فلن يتم إجراء أي فحص. سيتم تسجيل وتجاهل أي DeviceNotAvailableException تمت مواجهته أثناء عملية التحقق هذه.

حدود
waitTime int

testAssumptionFailure

public void testAssumptionFailure (TestDescription test, 
                String trace)

يتم استدعاؤها عندما يشير الاختبار الذري إلى أنها تفترض حالة خاطئة

حدود
test TestDescription : يحدد الاختبار

trace String : تتبع مكدس الفشل

انتهى الاختبار

public void testEnded (TestDescription test, 
                 testMetrics)

يُبلغ عن نهاية تنفيذ حالة اختبار فردية.

إذا لم يتم استدعاء testFailed(TestDescription, FailureDescription) ، فهذا الاختبار قد نجح. تقوم أيضًا بإرجاع أي مقاييس للمفتاح/القيمة ربما تم إصدارها أثناء تنفيذ حالة الاختبار.

حدود
test TestDescription : يحدد الاختبار

testMetrics : ERROR(/Map) للمقاييس المنبعثة

فشل الاختبار

public void testFailed (TestDescription test, 
                String trace)

الإبلاغ عن فشل حالة اختبار فردية.

سيتم استدعاؤه بين testStarted وtestEnded.

حدود
test TestDescription : يحدد الاختبار

trace String : تتبع مكدس الفشل

testIgnored

public void testIgnored (TestDescription test)

يتم استدعاؤه عندما لا يتم تشغيل الاختبار، وذلك بشكل عام بسبب إضافة تعليقات توضيحية لطريقة الاختبار باستخدام org.junit.Ignore.

حدود
test TestDescription : يحدد الاختبار

testLog

public void testLog (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream)

يوفر السجل المرتبط أو بيانات التصحيح من استدعاء الاختبار.

يجب الاتصال به قبل ERROR(/ITestInvocationListener#invocationFailed(Throwable)) أو ERROR(/ITestInvocationListener#invocationEnded(long))

سيقوم إطار عمل TradeFederation تلقائيًا باستدعاء هذه الطريقة، مما يوفر سجل المضيف وlogcat للجهاز، إن أمكن.

حدود
dataName String : اسم وصفي String البيانات. على سبيل المثال "device_logcat". لاحظ أن dataName قد لا يكون فريدًا لكل استدعاء. أي يجب أن يكون المنفذون قادرين على التعامل مع مكالمات متعددة بنفس اسم البيانات

dataType LogDataType : LogDataType للبيانات

dataStream InputStreamSource : InputStreamSource للبيانات. يجب على المنفذين استدعاء createInputStream لبدء قراءة البيانات، والتأكد من إغلاق InputStream الناتج عند اكتماله. يجب على المتصلين التأكد من أن مصدر البيانات يظل موجودًا ويمكن الوصول إليه حتى تكتمل طريقة testLog.

testRunEnded

public void testRunEnded (long elapsedTime, 
                 runMetrics)

تقارير نهاية التشغيل التجريبي. إصلاح: لا يمكن أن يكون لدينا واجهتان Map<> بنوع مختلف، لذا يتعين علينا استخدام HashMap هنا.

حدود
elapsedTime long : أبلغ الجهاز عن الوقت المنقضي، بالمللي ثانية

runMetrics : أزواج القيمة الرئيسية التي تم الإبلاغ عنها في نهاية التشغيل التجريبي باستخدام Metric .

فشل تشغيل الاختبار

public void testRunFailed (String errorMessage)

فشل تشغيل اختبار التقارير بسبب حدوث خطأ فادح.

حدود
errorMessage String : String تصف سبب فشل التشغيل.

testRunStarted

public void testRunStarted (String runName, 
                int testCount)

يُعلن عن بداية التشغيل التجريبي.

حدود
runName String : اسم التشغيل التجريبي

testCount int : العدد الإجمالي للاختبارات في التشغيل التجريبي

testRunStopped

public void testRunStopped (long elapsedTime)

توقف التشغيل التجريبي للتقارير قبل اكتماله بناءً على طلب المستخدم.

TODO: غير مستخدم حاليًا، فكر في الإزالة

حدود
elapsedTime long : أبلغ الجهاز عن الوقت المنقضي، بالمللي ثانية

testStarted

public void testStarted (TestDescription test)

تقارير بداية حالة اختبار فردية. الواجهة الأقدم، يجب أن تستخدم testStarted(com.android.tradefed.result.TestDescription) كلما أمكن ذلك.

حدود
test TestDescription : يحدد الاختبار