ShardListener

public class ShardListener
extends CollectingTestListener implements ISupportGranularResults

java.lang.Object
com.android.tradefed.result.CollectingTestListener
com.android.tradefed.invocer.ShardListener


ITestInvocationListener الذي يجمع النتائج من جزء الاستدعاء (المعروف أيضًا باسم تقسيم الاستدعاء للتشغيل على موارد متعددة بالتوازي)، ويعيد توجيهها إلى مستمع آخر.

ملخص

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

ShardListener ( ITestInvocationListener main)

إنشاء ShardListener .

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

getUnderlyingResultReporter ()
void invocationEnded (long elapsedTime)

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

void invocationFailed ( FailureDescription failure)

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

void invocationFailed (Throwable cause)

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

void invocationSkipped ( SkipReason reason)

يُبلغ عن استدعاء تم تخطيه

void invocationStarted ( IInvocationContext context)

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

void logAssociation (String dataName, LogFile logFile)

في بعض الحالات، يجب أن يرتبط السجل بقوة بحالات الاختبار، ولكن تكون الفرصة متاحة للقيام بذلك من خلال testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile) رد الاتصال testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile) غير ممكن.

void setSupportGranularResults (boolean enableGranularResults)
boolean supportGranularResults ()

يُرجع صحيحًا إذا كان المُبلغ يدعم النتائج التفصيلية، ويُرجع خطأ بخلاف ذلك.

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

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

void testLogSaved (String dataName, LogDataType dataType, InputStreamSource dataStream, LogFile logFile)

void testModuleEnded ()

تقارير نهاية تشغيل الوحدة النمطية.

void testModuleStarted ( IInvocationContext moduleContext)

يُبلغ عن بداية تشغيل الوحدة النمطية.

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

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

void testRunFailed ( FailureDescription failure)

فشل تشغيل اختبار التقارير في الاكتمال بسبب الفشل الموصوف بواسطة FailureDescription .

void testRunFailed (String failureMessage)

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

void testRunStarted (String name, int numTests, int attemptNumber, long startTime)

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

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

ShardListener

public ShardListener (ITestInvocationListener main)

إنشاء ShardListener .

حدود
main ITestInvocationListener : يجب إعادة توجيه النتائج إلى ITestInvocationListener . لمنع الاصطدامات مع ShardListener الأخرى، ستتم مزامنة هذا الكائن على main عند إعادة توجيه النتائج. ولن يتم إرسال النتائج إلا بعد اكتمال جزء الاستدعاء.

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

getUnderlyingResultReporter

public  getUnderlyingResultReporter ()

عائدات

انتهت الدعوة

public void invocationEnded (long elapsedTime)

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

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

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

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

public void invocationFailed (FailureDescription failure)

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

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

حدود
failure FailureDescription : FailureDescription الذي يصف سبب الفشل

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

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 void logAssociation (String dataName, 
                LogFile logFile)

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

حدود
dataName String : اسم البيانات

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

setSupportGranularResults

public void setSupportGranularResults (boolean enableGranularResults)

حدود
enableGranularResults boolean

supportGranularResults

public boolean supportGranularResults ()

يُرجع صحيحًا إذا كان المُبلغ يدعم النتائج التفصيلية، ويُرجع خطأ بخلاف ذلك.

عائدات
boolean

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.

testLogSaved

public void testLogSaved (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream, 
                LogFile logFile)

حدود
dataName String

dataType LogDataType

dataStream InputStreamSource

logFile LogFile

testModuleEnded

public void testModuleEnded ()

تقارير نهاية تشغيل الوحدة النمطية.

testModuleStarted

public void testModuleStarted (IInvocationContext moduleContext)

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

حدود
moduleContext IInvocationContext : IInvocationContext للوحدة.

testRunEnded

public void testRunEnded (long elapsedTime, 
                 runMetrics)

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

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

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

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

public void testRunFailed (FailureDescription failure)

فشل تشغيل اختبار التقارير في الاكتمال بسبب الفشل الموصوف بواسطة FailureDescription .

حدود
failure FailureDescription : FailureDescription الذي يصف الفشل وسياقه.

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

public void testRunFailed (String failureMessage)

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

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

testRunStarted

public void testRunStarted (String name, 
                int numTests, 
                int attemptNumber, 
                long startTime)

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

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

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

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

startTime long : الوقت الذي بدأ فيه التشغيل، ويتم قياسه عبر System.currentTimeMillis()