InstrumentationResultParser

public class InstrumentationResultParser
extends MultiLineReceiver implements IInstrumentationResultParser

java.lang.Object
com.android.ddmlib.MultiLineReceiver
  com.android.tradefed.result.ddmlib.InstrumentationResultParser


यह शेल से, इंस्ट्रूमेंटेशन टेस्ट रन के 'रॉ आउटपुट मोड' के नतीजों को पार्स करता है. साथ ही, नतीजों के बारे में ITestRunListener को जानकारी देता है.

इससे यह आउटपुट मिलने की उम्मीद होती है:

अगर टेस्ट चलाने की कोशिश करते समय कोई गंभीर गड़बड़ी हुई है, तो:

 INSTRUMENTATION_STATUS: Error=error Message
 INSTRUMENTATION_FAILED:
 

या

 INSTRUMENTATION_RESULT: shortMsg=error Message
 

इसके अलावा, टेस्ट के नतीजों की सीरीज़ मिलने की उम्मीद होती है. इनमें से हर नतीजे में, स्टेटस की/वैल्यू पेयर का सेट होता है. इन्हें, start(1)/pass(0)/fail(-2)/error(-1) स्टेटस कोड के नतीजे से अलग किया जाता है. टेस्ट रन के आखिर में, सेकंड में बीता हुआ टेस्ट का समय दिखने की उम्मीद होती है

उदाहरण के लिए:

 INSTRUMENTATION_STATUS_CODE: 1
 INSTRUMENTATION_STATUS: class=com.foo.FooTest
 INSTRUMENTATION_STATUS: test=testFoo
 INSTRUMENTATION_STATUS: numtests=2
 INSTRUMENTATION_STATUS: stack=com.foo.FooTest#testFoo:312
    com.foo.X
 INSTRUMENTATION_STATUS_CODE: -2
 ...

 Time: X
 

ध्यान दें कि की-वैल्यू पेयर का "वैल्यू" वाला हिस्सा, टेक्स्ट की कई लाइनों में रैप हो सकता है

इसके बजाय, InstrumentationProtoResultParser का इस्तेमाल करें. प्रोटो पर आधारित पार्सर में, लॉगकैट मैसेज जैसी अतिरिक्त जानकारी होती है.

खास जानकारी

पब्लिक कंस्ट्रक्टर

InstrumentationResultParser(String runName, ITestRunListener listener)

यह एक लिसनर के लिए, InstrumentationResultParser बनाता है.

InstrumentationResultParser(String runName, Collection<ITestRunListener> listeners)

यह InstrumentationResultParser बनाता है.

पब्लिक मेथड

void cancel()

यह टेस्ट रन को रद्द करने का अनुरोध करता है.

void done()

adb सेशन पूरा होने पर, इसे पैरंट कॉल करता है.

void handleTestRunFailed(String errorMsg)

जब "am instrument" कमांड, किसी अपवाद की वजह से क्रैश हो जाता है, तब इस तरीके को कॉल किया जाता है.

boolean isCancelled()

अगर टेस्ट रन रद्द कर दिया गया है, तो यह 'सही' दिखाता है.

void processNewLines(String[] lines)

यह शेल से, इंस्ट्रूमेंटेशन टेस्ट के आउटपुट को प्रोसेस करता है.

पब्लिक कंस्ट्रक्टर

InstrumentationResultParser

public InstrumentationResultParser (String runName, 
                ITestRunListener listener)

यह एक लिसनर के लिए, InstrumentationResultParser बनाता है.

पैरामीटर
runName String: यह टेस्ट रन का नाम है, जिसे ITestRunListener.testRunStarted(String,int) को दिया जाना है

listener ITestRunListener: टेस्ट के नतीजों के बारे में इसे जानकारी दी जाती है, क्योंकि टेस्ट चल रहे होते हैं

InstrumentationResultParser

public InstrumentationResultParser (String runName, 
                Collection<ITestRunListener> listeners)

यह InstrumentationResultParser बनाता है.

पैरामीटर
runName String: यह टेस्ट रन का नाम है, जिसे ITestRunListener.testRunStarted(String,int) को दिया जाना है

listeners Collection: टेस्ट के नतीजों के बारे में इन्हें जानकारी दी जाती है, क्योंकि टेस्ट चल रहे होते हैं

पब्लिक मेथड

cancel

public void cancel ()

यह टेस्ट रन को रद्द करने का अनुरोध करता है.

done

public void done ()

adb सेशन पूरा होने पर, इसे पैरंट कॉल करता है.

handleTestRunFailed

public void handleTestRunFailed (String errorMsg)

जब "am instrument" कमांड, किसी अपवाद की वजह से क्रैश हो जाता है, तब इस तरीके को कॉल किया जाता है. अगर टेस्ट के दौरान क्रैश होता है, तो सभी रजिस्टर किए गए लिसनर को ITestRunListener.testRunFailed के बारे में सूचना दी जानी चाहिए. इसके बाद, ITestRunListener.testRunEnded के बारे में सूचना दी जानी चाहिए.

पैरामीटर
errorMsg String

isCancelled

public boolean isCancelled ()

अगर टेस्ट रन रद्द कर दिया गया है, तो यह 'सही' दिखाता है.

रिटर्न
boolean कमांड के एक्ज़ीक्यूशन को रद्द करने के लिए, 'सही' दिखाता है.

इन्हें भी देखें:

processNewLines

public void processNewLines (String[] lines)

यह शेल से, इंस्ट्रूमेंटेशन टेस्ट के आउटपुट को प्रोसेस करता है.

पैरामीटर
lines String: यह अरे, नई लाइनें दिखाता है.

इन्हें भी देखें: