ProtoResultReporter

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

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


أنشأ الشخص الذي أبلغ عن النتائج نموذجًا أوّليًا لـ TestRecord يحتوي على جميع النتائج بداخلها. يجب توسيع نطاق الإجراء ليتضمّن ما يجب فعله بالبروتوكول النهائي في 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)

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

final void invocationStarted(IInvocationContext context)

يبلِّغ عن بدء الاستدعاء للاختبار.

final void logAssociation(String dataName, LogFile logFile)

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

void processFinalInvocationLogs(TestRecordProto.TestRecord invocationLogs)

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

void processFinalProto(TestRecordProto.TestRecord finalRecord)

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

void processStartInvocation(TestRecordProto.TestRecord invocationStartRecord, IInvocationContext invocationContext)

التعامل مع النموذج الأوّلي لسجلّ اختبار الاستدعاء الجزئي بعد حدوث 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)

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

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

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

invocationFailed

public void invocationFailed (FailureDescription failure)

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

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

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

invocationFailed

public void invocationFailed (Throwable cause)

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

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

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

invocationSkipped

public void invocationSkipped (SkipReason reason)

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

المعلمات
reason SkipReason

invocationStarted

public final void invocationStarted (IInvocationContext context)

يبلِّغ عن بدء الاستدعاء للاختبار.

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

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

ارتباط لوغاريتمي

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) المباشرة. بالتالي، تسمح معاودة الاتصال هذه بتوفير ارتباط قوي بشكل صريح.

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

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

processFinalInvocationLogs

public void processFinalInvocationLogs (TestRecordProto.TestRecord invocationLogs)

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

المعلمات
invocationLogs TestRecordProto.TestRecord: النموذج النهائي الذي يمثل الاستدعاء.

العمليةFinalProto

public void processFinalProto (TestRecordProto.TestRecord finalRecord)

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

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

processStartInvocation

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

التعامل مع النموذج الأوّلي لسجلّ اختبار الاستدعاء الجزئي بعد حدوث 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: النموذج الأولي الجزئي الذي يمثل الوحدة.

processTestRunEnded

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

التعامل مع النموذج الأولي لسجلّ التشغيل النهائي بعد حدوث 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 ()

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

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

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

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 الوحدة

اختبار RunEnded

public final void testRunEnded (long elapsedTimeMillis, 
                 runMetrics)

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

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

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

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

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