InstrumentationProtoResultParser
public
class
InstrumentationProtoResultParser
extends Object
implements
IInstrumentationResultParser
| java.lang.Object | |
| ↳ | com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser |
يحلّل نتائج "وضع إخراج protoStd" لتنفيذ اختبار الأجهزة من shell ويُعلم ITestRunListener بالنتائج.
يُخرج أمر الأداة مع الخيار "-m" حالة تنفيذ الاختبار بتنسيق protobuf الثنائي
بشكل تدريجي. رسالة protobuf الناتجة هي InstrumentationData.Session، والتي تحتوي على حقلَين: 1) حقل متكرّر من InstrumentationData.TestStatus، 2) InstrumentationData.SessionStatus. يُخرج أمر am instrument رسالة حالة الاختبار
قبل/بعد كل عملية تنفيذ للاختبار. يتم استدعاء addOutput(byte, int, int) باستخدام وسيطة data
وهي عبارة عن بايت متسلسلة من TestStatus. عند الانتهاء من جميع الاختبارات، يعرض الأمر SessionStatus في النهاية.
يمكنك الاطّلاع على https://cs.android.com/android/platform/superproject/+/master:frameworks/base/cmds/am/proto/instrumentation_data.proto للحصول على تعريف كامل لبروتوكول المخزن المؤقت.
InstrumentationProtoResultParser هي آلة ذات حالات، ويتم تحديد الحالات في ERROR(InstrumentationProtoResultParserState/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState InstrumentationProtoResultParserState). تبدأ الحالة بـ ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#NOT_STARTED). عندما يرى حالة أول حالة اختبار، ينتقل إلى ERROR(InstrumentationProtoResultParserState.RUNNING/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#RUNNING InstrumentationProtoResultParserState.RUNNING). تتغيّر الحالة إلى ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#FINISHED) إذا تم إجراء جميع الاختبارات أو إلى ERROR(/com.android.tradefed.result.ddmlib.InstrumentationProtoResultParser.InstrumentationProtoResultParserState#CANCELLED) إذا تم طلبها من خلال استدعاء cancel().
في كل مرة تتوفّر فيها حالة اختبار جديدة، سيتم إعلام المستمعين المسجّلين بها.
ملخّص
الإنشاءات العامة | |
|---|---|
InstrumentationProtoResultParser(String runName,
|
|
الطُرق العامة | |
|---|---|
void
|
addOutput(byte[] data, int offset, int length)
يتم استدعاء هذه الطريقة في كل مرة تتوفّر فيها بعض البيانات الجديدة. |
void
|
cancel()
يطلب إلغاء التشغيل التجريبي. |
void
|
flush()
يتم استدعاؤها في نهاية تنفيذ العملية (ما لم يتم إلغاء العملية). |
void
|
handleTestRunFailed(String errorMsg)
يتم استدعاء هذه الطريقة عندما يتعطّل الأمر "am instrument" بسبب حدوث استثناء. |
boolean
|
isCancelled()
طريقة الإلغاء لإيقاف تنفيذ أمر shell عن بُعد |
الإنشاءات العامة
InstrumentationProtoResultParser
public InstrumentationProtoResultParser (String runName,
listeners) تنشئ InstrumentationProtoResultParser.
| المعلمات | |
|---|---|
runName |
استبدِل String باسم التشغيل التجريبي الذي سيتم تقديمه إلى ITestRunListener.testRunStarted |
listeners |
: إعلامك بنتائج الاختبارات أثناء تنفيذها |
الطُرق العامة
addOutput
public void addOutput (byte[] data,
int offset,
int length)يتم استدعاء هذه الطريقة في كل مرة تتوفّر فيها بعض البيانات الجديدة.
| المعلمات | |
|---|---|
data |
byte: بيانات مسلسلة للرسالة InstrumentationData.Session إذا كانت data
عبارة عن جزء غير مكتمل، تتم إضافتها إلى مخزن مؤقت داخلي وستتم معالجتها في
استدعاء addOutput(byte, int, int) التالي. |
offset |
int: إزاحة البيانات الجديدة المخزّنة في data |
length |
int: وحدات بايت من البيانات الجديدة في data المطلوب معالجتها |
إلغاء
public void cancel ()
يطلب إلغاء التشغيل التجريبي.
flush
public void flush ()
يتم استدعاؤها في نهاية تنفيذ العملية (ما لم يتم إلغاء العملية). ويتيح ذلك للمستلِم إنهاء أي بيانات لم تتم معالجتها بعد وإزالتها.
handleTestRunFailed
public void handleTestRunFailed (String errorMsg)
يتم استدعاء هذه الطريقة عندما يتعطّل الأمر "am instrument" بسبب حدوث خطأ. يجب إرسال إشعار إلى جميع المستمعين المسجّلين ITestRunListener.testRunFailed متبوعًا بـ ITestRunListener.testRunEnded(long, في حال حدوث عطل أثناء تنفيذ الاختبار.
| المعلمات | |
|---|---|
errorMsg |
String |
isCancelled
public boolean isCancelled ()
طريقة الإلغاء لإيقاف تنفيذ أمر shell عن بُعد
| المرتجعات | |
|---|---|
boolean |
يجب ضبط القيمة على "صحيح" لإلغاء تنفيذ الأمر. |