أداة تجميع تقرير الأخطاء

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, 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)

الإبلاغ عن نهاية عملية الاختبار

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 ()

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

الحصول على الملخص

public TestSummary getSummary ()

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

المرتجعات
TestSummary علامة TestSummary تلخّص تمرين الجري أو قيمة خالية

invocationEnded

public void invocationEnded (long elapsedTime)

تُستخدَم لتسجيل انتهاء طلب الاستدعاء، سواءً بنجاح أو بسبب خطأ.

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

المعلمات
elapsedTime long: الوقت المنقضي منذ بدء الطلب بالملي ثانية

invocationFailed

public void invocationFailed (Throwable cause)

الإبلاغ عن طلب غير مكتمل بسبب بعض حالات الخطأ

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

المعلمات
cause Throwable: Throwable سبب الخطأ

invocationStarted

public void invocationStarted (IInvocationContext context)

الإبلاغ عن بدء استدعاء الاختبار

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

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

ضبط غير متزامن

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, 
                 testMetrics)

تعمل هذه السياسة على الإبلاغ عن نهاية تنفيذ حالة اختبار فردية.

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

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

testMetrics : ERROR(/Map) من المقاييس التي تمّ قياسها

testFailed

public void testFailed (TestDescription test, 
                String trace)

الإبلاغ عن تعذُّر اختبار فردي

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

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

trace String: تتبُّع تسلسل استدعاء الدوال البرمجية للخطأ

تم تجاهل الاختبار

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 فريدًا في كل استدعاء، أي أنّه يجب أن يتمكّن القائمون على التنفيذ من التعامل مع المكالمات المتعددة باستخدام dataName نفسها.

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

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

اختبار RunEnded

public void testRunEnded (long elapsedTime, 
                 runMetrics)

الإبلاغ عن نهاية عملية الاختبار

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

runMetrics : أزواج المفتاح/القيمة التي يتم تسجيلها في نهاية عملية تنفيذ الاختبار

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: الوقت المنقضي الذي سجّله الجهاز، بالمللي ثانية

تم بدء الاختبار

public void testStarted (TestDescription test)

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

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