ProtoResultReporter

public abstract class ProtoResultReporter
extends Object implements ILogSaverListener, ISupportGranularResults, ITestInvocationListener

java.lang.Object
   ↳ com.android.tradefed.result.proto.ProtoResultReporter


ينشئ مُبلِّغ النتائج ملفًا بتنسيق TestRecord protobuf يحتوي على جميع النتائج. يجب توسيع نطاق الإجراء ليتضمّن ما يجب فعله بالبروتوكول النهائي في processFinalProto(com.android.tradefed.result.proto.TestRecordProto.TestRecord).

ملخّص

وظائف الإنشاء العامة

ProtoResultReporter()

الطرق العامة

final void invocationEnded(long elapsedTime)

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

void invocationFailed(FailureDescription failure)

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

void invocationFailed(Throwable cause)

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

void invocationSkipped(SkipReason reason)

الإبلاغ عن طلب استدعاء كطلب تم تخطّيه

void invocationStarted(IInvocationContext context)

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

final void logAssociation(String dataName, LogFile logFile)

في بعض الحالات، يجب أن يكون السجلّ مرتبطًا ارتباطًا وثيقًا بحالات الاختبار، ولكن لا يمكن إجراء ذلك في testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile) callback المباشر.

void processFinalInvocationLogs(TestRecordProto.TestRecord invocationLogs)

استخدِم سجلّ الطلب لإرسال جميع السجلات النهائية للطلب واحدًا تلو الآخر.

void processFinalProto(TestRecordProto.TestRecord finalRecord)

التعامل مع النموذج النهائي مع جميع النتائج

void processStartInvocation(TestRecordProto.TestRecord invocationStartRecord, IInvocationContext invocationContext)

التعامل مع ملف proto لاختبار الاستدعاء الجزئي بعد حدوث invocationStarted(com.android.tradefed.invoker.IInvocationContext)

void processTestCaseEnded(TestRecordProto.TestRecord testCaseRecord)

التعامل مع ملف proto لسجلّ حالة الاختبار النهائي بعد حدوث ERROR(/#testEnded(com.android.tradefed.result.TestDescription,long,HashMap))

void processTestCaseStarted(TestRecordProto.TestRecord testCaseStartedRecord)

التعامل مع ملف proto لتسجيل حالة الاختبار الجزئي بعد حدوث testStarted(com.android.tradefed.result.TestDescription, long)

void processTestModuleEnd(TestRecordProto.TestRecord moduleRecord)

التعامل مع ملف proto لسجلّ الوحدة النهائي بعد حدوث testModuleEnded()

void processTestModuleStarted(TestRecordProto.TestRecord moduleStartRecord)

التعامل مع ملف proto لسجلّ الوحدة الجزئي بعد حدوث testModuleStarted(com.android.tradefed.invoker.IInvocationContext)

void processTestRunEnded(TestRecordProto.TestRecord runRecord, boolean moduleInProgress)

التعامل مع ملف proto لسجلّ التشغيل النهائي بعد حدوث ERROR(/#testRunEnded(long,HashMap))

void processTestRunStarted(TestRecordProto.TestRecord runStartedRecord)

التعامل مع سجلّ تشغيل الاختبار الجزئي بعد حدوث testRunStarted(String, int)

void setGranularResults(boolean granularResults)
void setInlineRecordOfChildren(boolean inline)
boolean supportGranularResults()

تعرِض True إذا كان مقدّم البلاغ يتيح النتائج الدقيقة، وتعرض false في الحالات الأخرى.

final void testAssumptionFailure(TestDescription test, String trace)

يتمّ استدعاؤه عندما يُبلغ اختبار ذري عن أنّه يفترض شرطًا غير صحيح.

final void testAssumptionFailure(TestDescription test, FailureDescription failure)

يتمّ استدعاؤه عندما يُبلغ اختبار ذري عن أنّه يفترض شرطًا غير صحيح.

final void testEnded(TestDescription test, long endTime, testMetrics)

بديل ERROR(/#testEnded(com.android.tradefed.result.TestDescription,Map)) حيث يمكننا تحديد وقت الانتهاء مباشرةً.

void testEnded(TestDescription test, testMetrics)

يُبلِغ عن نهاية تنفيذ نموذج اختبار فردي.

final void testFailed(TestDescription test, FailureDescription failure)

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

final void testFailed(TestDescription test, String trace)

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

final void testIgnored(TestDescription test)

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

final void testModuleEnded()

الإبلاغ عن نهاية تشغيل وحدة

final void testModuleStarted(IInvocationContext moduleContext)

الإبلاغ عن بدء تشغيل وحدة

final void testRunEnded(long elapsedTimeMillis, runMetrics)

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

final void testRunFailed(FailureDescription failure)

تعذّر إكمال تشغيل اختبار التقارير بسبب خطأ وصفه FailureDescription.

final void testRunFailed(String errorMessage)

تعذّر إكمال تشغيل اختبار التقارير بسبب خطأ فادح.

void testRunStarted(String runName, int testCount, int attemptNumber)

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

final void testRunStarted(String runName, int testCount)

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

void testRunStarted(String runName, int testCount, int attemptNumber, long startTime)

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

final void testSkipped(TestDescription test, SkipReason reason)

يتمّ استدعاؤه عند تخطّي اختبار وعدم تنفيذه لسبب غير متوقّع عادةً.

final void testStarted(TestDescription test, long startTime)

بديل عن testStarted(com.android.tradefed.result.TestDescription) حيث نحدّد أيضًا وقت بدء الاختبار ، مع ERROR(/#testEnded(com.android.tradefed.result.TestDescription,long,Map)) لإجراء قياس دقيق.

final void testStarted(TestDescription test)

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

الطرق المحمية

void afterModuleEnd()
void beforeModuleStart()
TestRecordProto.ChildReference createModuleChildReference(TestRecordProto.TestRecord record)

لإنشاء مرجع فرعي لمكوّن.

وظائف الإنشاء العامة

ProtoResultReporter

public ProtoResultReporter ()

الطرق العامة

invocationEnded

public final void invocationEnded (long elapsedTime)

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

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

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

invocationFailed

public void invocationFailed (FailureDescription failure)

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

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

المعلمات
failure FailureDescription: FailureDescription الذي يصف سبب تعذُّر التنفيذ

invocationFailed

public void invocationFailed (Throwable cause)

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

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

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

invocationSkipped

public void invocationSkipped (SkipReason reason)

الإبلاغ عن طلب استدعاء كطلب تم تخطّيه

المعلمات
reason SkipReason

invocationStarted

public void invocationStarted (IInvocationContext context)

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

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

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

logAssociation

public final void logAssociation (String dataName, 
                LogFile logFile)

في بعض الحالات، يجب أن يكون السجلّ مرتبطًا ارتباطًا وثيقًا بحالات الاختبار، ولكن لا يمكن إجراء ذلك في testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile) callback المباشر. وبالتالي، يسمح هذا المرجع العكسي بتوفير ارتباط قوي بشكل صريح.

المعلمات
dataName String: اسم البيانات

logFile LogFile: LogFile الذي تم تسجيله من قبل ويجب أن يكون مرتبطًا بحالة الاختبار

processFinalInvocationLogs

public void processFinalInvocationLogs (TestRecordProto.TestRecord invocationLogs)

استخدِم سجلّ الطلب لإرسال جميع السجلات النهائية للطلب واحدًا تلو الآخر.

المعلمات
invocationLogs TestRecordProto.TestRecord: ملف proto النهائي الذي يمثّل الطلب

processFinalProto

public void processFinalProto (TestRecordProto.TestRecord finalRecord)

التعامل مع النموذج النهائي مع جميع النتائج

المعلمات
finalRecord TestRecordProto.TestRecord: ملف proto النهائي الذي يتضمّن جميع نتائج الاستدعاء

processStartInvocation

public void processStartInvocation (TestRecordProto.TestRecord invocationStartRecord, 
                IInvocationContext invocationContext)

التعامل مع ملف proto لاختبار الاستدعاء الجزئي بعد حدوث invocationStarted(com.android.tradefed.invoker.IInvocationContext)

المعلمات
invocationStartRecord TestRecordProto.TestRecord: تمّت تعبئة النموذج الجزئي بعد invocationStart.

invocationContext IInvocationContext: طلب التنفيذ IInvocationContext.

processTestCaseEnded

public void processTestCaseEnded (TestRecordProto.TestRecord testCaseRecord)

التعامل مع ملف proto لسجلّ حالة الاختبار النهائي بعد حدوث ERROR(/#testEnded(com.android.tradefed.result.TestDescription,long,HashMap))

المعلمات
testCaseRecord TestRecordProto.TestRecord: النموذج النهائي الذي يمثّل حالة اختبار

processTestCaseStarted

public void processTestCaseStarted (TestRecordProto.TestRecord testCaseStartedRecord)

التعامل مع ملف proto لتسجيل حالة الاختبار الجزئي بعد حدوث testStarted(com.android.tradefed.result.TestDescription, long)

المعلمات
testCaseStartedRecord TestRecordProto.TestRecord: ملف proto جزئي يمثّل نموذج الاختبار

processTestModuleEnd

public void processTestModuleEnd (TestRecordProto.TestRecord moduleRecord)

التعامل مع ملف proto لسجلّ الوحدة النهائي بعد حدوث testModuleEnded()

المعلمات
moduleRecord TestRecordProto.TestRecord: النموذج النهائي الذي يمثّل الوحدة

processTestModuleStarted

public void processTestModuleStarted (TestRecordProto.TestRecord moduleStartRecord)

التعامل مع ملف proto لسجلّ الوحدة الجزئي بعد حدوث testModuleStarted(com.android.tradefed.invoker.IInvocationContext)

المعلمات
moduleStartRecord TestRecordProto.TestRecord: ملف proto جزئي يمثّل الوحدة

processTestRunEnded

public void processTestRunEnded (TestRecordProto.TestRecord runRecord, 
                boolean moduleInProgress)

التعامل مع ملف proto لسجلّ التشغيل النهائي بعد حدوث ERROR(/#testRunEnded(long,HashMap))

المعلمات
runRecord TestRecordProto.TestRecord: النموذج النهائي الذي يمثّل عملية التنفيذ

moduleInProgress boolean: ما إذا كانت إحدى الوحدات قيد التنفيذ أم لا

processTestRunStarted

public void processTestRunStarted (TestRecordProto.TestRecord runStartedRecord)

التعامل مع سجلّ تشغيل الاختبار الجزئي بعد حدوث testRunStarted(String, int)

المعلمات
runStartedRecord TestRecordProto.TestRecord: ملف proto جزئي يمثّل عملية التنفيذ

setGranularResults

public void setGranularResults (boolean granularResults)

المعلمات
granularResults boolean

setInlineRecordOfChildren

public void setInlineRecordOfChildren (boolean inline)

المعلمات
inline boolean

supportGranularResults

public boolean supportGranularResults ()

تعرِض True إذا كان مقدّم البلاغ يتيح النتائج الدقيقة، وتعرض false في الحالات الأخرى.

المرتجعات
boolean

testAssumptionFailure

public final void testAssumptionFailure (TestDescription test, 
                String trace)

يتمّ استدعاؤه عندما يُبلغ اختبار ذري عن أنّه يفترض شرطًا غير صحيح.

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

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

testAssumptionFailure

public final void testAssumptionFailure (TestDescription test, 
                FailureDescription failure)

يتمّ استدعاؤه عندما يُبلغ اختبار ذري عن أنّه يفترض شرطًا غير صحيح.

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

failure FailureDescription: FailureDescription لوصف الخطأ وسياقه

testEnded

public final void testEnded (TestDescription test, 
                long endTime, 
                 testMetrics)

بديل ERROR(/#testEnded(com.android.tradefed.result.TestDescription,Map)) حيث يمكننا تحديد وقت الانتهاء مباشرةً. يمكنك الجمع بين testStarted(com.android.tradefed.result.TestDescription, long) لقياس الأداء بدقة.

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

endTime long: وقت انتهاء الاختبار، يتم قياسه من خلال System.currentTimeMillis()

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

testEnded

public void testEnded (TestDescription test, 
                 testMetrics)

يُبلِغ عن نهاية تنفيذ نموذج اختبار فردي.

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

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

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

testFailed

public final void testFailed (TestDescription test, 
                FailureDescription failure)

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

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

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

failure FailureDescription: FailureDescription لوصف الخطأ وسياقه

testFailed

public final void testFailed (TestDescription test, 
                String trace)

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

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

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

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

testIgnored

public final void testIgnored (TestDescription test)

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

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

testModuleEnded

public final void testModuleEnded ()

الإبلاغ عن نهاية تشغيل وحدة

testModuleStarted

public final void testModuleStarted (IInvocationContext moduleContext)

الإبلاغ عن بدء تشغيل وحدة يرتبط هذا المرجع الداعم بـ testModuleEnded() وهو اختياري في التسلسل. ولا يتم استخدامه إلا أثناء عملية تشغيل تستخدِم وحدات: برامج التشغيل المستندة إلى المجموعة.

المعلمات
moduleContext IInvocationContext: IInvocationContext الوحدة

testRunEnded

public final void testRunEnded (long elapsedTimeMillis, 
                 runMetrics)

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

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

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

testRunFailed

public final void testRunFailed (FailureDescription failure)

تعذّر إكمال تشغيل اختبار التقارير بسبب خطأ وصفه FailureDescription.

المعلمات
failure FailureDescription: FailureDescription لوصف الخطأ وسياقه

testRunFailed

public final void testRunFailed (String errorMessage)

تعذّر إكمال تشغيل اختبار التقارير بسبب خطأ فادح.

المعلمات
errorMessage String: String يصف سبب تعذُّر التنفيذ

testRunStarted

public void testRunStarted (String runName, 
                int testCount, 
                int attemptNumber)

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

المعلمات
runName String: اسم اختبار التنفيذ

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

attemptNumber int: رقم الطلب، الذي يحدِّد المحاولات المختلفة لنفس اسم التشغيل الذي تم تنفيذه عدّة مرات. يتمّ ترقيم مَعلمة attemptNumber بدءًا من 0، ويجب أن تزيد كلّ مرّة تتم فيها عملية تشغيل جديدة. على سبيل المثال، إذا تمّت إعادة محاولة إجراء اختبار دقيق 3 مرّات، يجب أن يكون إجمالي عدد عمليات التشغيل 4 عمليات ضمن اسم التشغيل نفسه وأن تتراوح مَعلمة attemptNumber بين 0 و3.

testRunStarted

public final void testRunStarted (String runName, 
                int testCount)

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

المعلمات
runName String: اسم اختبار التنفيذ

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

testRunStarted

public void testRunStarted (String runName, 
                int testCount, 
                int attemptNumber, 
                long startTime)

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

المعلمات
runName String: اسم اختبار التنفيذ

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

attemptNumber int: رقم الطلب، الذي يحدِّد المحاولات المختلفة لنفس اسم التشغيل الذي تم تنفيذه عدّة مرات. يتمّ ترقيم مَعلمة attemptNumber بدءًا من 0، ويجب أن تزيد كلّ مرّة يتمّ فيها تنفيذ عملية تشغيل جديدة. على سبيل المثال، إذا تمّت إعادة محاولة إجراء اختبار دقيق 3 مرّات، يجب أن يكون إجمالي عمليات التشغيل التي تمّ إجراؤها 4 مرّات ضمن اسم التشغيل نفسه، ويجب أن تتراوح مَعلمة attemptNumber بين 0 و3.

startTime long: وقت بدء التنفيذ، يتم قياسه من خلال System.currentTimeMillis()

testSkipped

public final void testSkipped (TestDescription test, 
                SkipReason reason)

يتمّ استدعاؤه عند تخطّي اختبار وعدم تنفيذه لسبب غير متوقّع عادةً. سيتمّ إعادة إجراء هذه الاختبارات لمحاولة تنفيذها بشكلٍ سليم.

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

reason SkipReason: SkipReason

testStarted

public final void testStarted (TestDescription test, 
                long startTime)

بديل عن testStarted(com.android.tradefed.result.TestDescription) حيث نحدّد أيضًا وقت بدء الاختبار ، مع ERROR(/#testEnded(com.android.tradefed.result.TestDescription,long,Map)) لإجراء قياس دقيق.

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

startTime long: وقت بدء الاختبار، يتم قياسه من خلال System.currentTimeMillis()

testStarted

public final void testStarted (TestDescription test)

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

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

الطرق المحمية

afterModuleEnd

protected void afterModuleEnd ()

beforeModuleStart

protected void beforeModuleStart ()

createModuleChildReference

protected TestRecordProto.ChildReference createModuleChildReference (TestRecordProto.TestRecord record)

لإنشاء مرجع فرعي لمكوّن.

المعلمات
record TestRecordProto.TestRecord

المرتجعات
TestRecordProto.ChildReference