BugreportCollector

public class BugreportCollector
extends Object implements ITestInvocationListener

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


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

السلوكيات: (FIXME: finish this)

  • التقاط الشاشة بعد كل حالة اختبار لم تنجح
  • التقاط الشاشة بعد كل حالة اختبار
  • تسجيل اللقطة بعد كل حالة اختبار فاشلة
  • التقاط

ملخّص

الصفوف المتداخلة

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, HashMap<String, MetricMeasurement.Metric> 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, HashMap<String, MetricMeasurement.Metric> 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

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

AT_START

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 تلخّص عملية التشغيل، أو قيمة فارغة

invocationEnded

public void invocationEnded (long elapsedTime)

تعرض هذه السمة ما إذا تم إنهاء عملية الاستدعاء بنجاح أو بسبب حدوث خطأ.

سيتم استدعاؤها تلقائيًا من خلال إطار عمل TradeFederation.

المعلَمات
elapsedTime long: الوقت المنقضي لتنفيذ الاستدعاء بالملّي ثانية

invocationFailed

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: تتبُّع تسلسل استدعاء الدوال البرمجية للخطأ

testEnded

public void testEnded (TestDescription test, 
                HashMap<String, MetricMeasurement.Metric> testMetrics)

تسجّل هذه السمة نهاية تنفيذ حالة اختبار فردية.

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

المعلَمات
test TestDescription: تحدّد الاختبار

testMetrics HashMap: Map للمقاييس التي تمّ إرسالها

testFailed

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)/ITestInvocationListener#invocationFailed(java.lang.Throwable) ITestInvocationListener.invocationFailed(Throwable)) أو ERROR(/ITestInvocationListener#invocationEnded(long))

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

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

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

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

testRunEnded

public void testRunEnded (long elapsedTime, 
                HashMap<String, MetricMeasurement.Metric> runMetrics)

تقارير نهاية عملية الاختبار FIXME: We cannot have two Map<> interfaces with different type, so we have to use HashMap here.

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

runMetrics HashMap: أزواج المفتاح/القيمة التي يتمّ تسجيلها في نهاية عملية الاختبار باستخدام Metric.

testRunFailed

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: currently unused, consider removing

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

testStarted

public void testStarted (TestDescription test)

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

المعلَمات
test TestDescription: تحدّد الاختبار