BugreportCollector

public class BugreportCollector
extends Object implements ITestInvocationListener

java.lang.object
com.android.tradefed.result.BugreportCollector


یک ITestInvocationListener که در صورت وقوع رویدادهای قابل تنظیم، گزارش‌های اشکال را جمع‌آوری می‌کند و پس از جمع‌آوری هر گزارش اشکال ITestInvocationListener#testLog روی فرزندان خود فراخوانی می‌کند.

رفتارها: (FIXME: این را تمام کنید)

  • در صورت شکست هر یک از موارد آزمایشی، پس از هر کدام، عکس بگیرید
  • بعد از هر آزمایش عکس بگیرید
  • بعد از هر تست شکست خورده عکس بگیرید
  • گرفتن

خلاصه

کلاس های تو در تو

class BugreportCollector.Predicate

یک گزاره کامل که توضیح می دهد چه زمانی باید یک گزارش اشکال ثبت شود.

interface BugreportCollector.SubPredicate

زمینه های

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

یک محمول از پیش تعریف شده که پس از هر تست شکست خورده شلیک می شود

public static final BugreportCollector.Predicate AT_START

یک محمول از پیش تعریف شده که با شروع اولین فراخوان فعال می شود

سازندگان عمومی

BugreportCollector ( ITestInvocationListener listener, ITestDevice testDevice)

روش های عمومی

void addPredicate ( BugreportCollector.Predicate p)
void blockUntilIdle ()

مسدود کنید تا زمانی که گردآورنده هیچ گونه گزارش اشکالی را جمع آوری نکند.

TestSummary getSummary ()

به InvocationListener اجازه می دهد خلاصه ای را برگرداند.

void invocationEnded (long elapsedTime)

گزارش می دهد که فراخوانی خاتمه یافته است، چه با موفقیت یا به دلیل برخی شرایط خطا.

void invocationFailed (Throwable cause)

یک فراخوان ناقص را به دلیل برخی شرایط خطا گزارش می دهد.

void invocationStarted ( IInvocationContext context)

شروع فراخوانی آزمون را گزارش می دهد.

void setAsynchronous (boolean asynchronous)

تنظیم کنید که آیا مجموعه گزارش اشکال باید گزارش اشکال را در رشته دیگری جمع آوری کند ( asynchronous = true )، یا تماس گیرنده را تا زمانی که گزارش اشکال ضبط شود مسدود کند ( asynchronous = false ).

void setDescriptiveName (String name)

نام توصیفی را برای استفاده در هنگام ضبط گزارش‌های اشکال تنظیم کنید.

void setDeviceWaitTime (int waitTime)

زمان را (بر حسب ثانیه) تنظیم کنید تا منتظر بمانیم تا دستگاه آنلاین شود قبل از اینکه بخواهیم گزارش اشکال را بگیریم.

void testAssumptionFailure ( TestDescription test, String trace)

زمانی که یک آزمایش اتمی نشان می دهد که شرطی نادرست را فرض می کند، نامیده می شود

void testEnded ( TestDescription test, testMetrics) testEnded ( TestDescription test, testMetrics)

پایان اجرای یک مورد آزمایشی فردی را گزارش می کند.

void testFailed ( TestDescription test, String trace)

گزارش شکست یک مورد آزمایشی فردی.

void testIgnored ( TestDescription test)

زمانی که آزمایشی اجرا نمی‌شود نامیده می‌شود، معمولاً به این دلیل که یک روش تست با org.junit.Ignore حاشیه‌نویسی می‌شود.

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

گزارش مربوطه یا داده های اشکال زدایی را از فراخوانی آزمایشی ارائه می دهد.

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

گزارش پایان اجرای آزمایشی

void testRunFailed (String errorMessage)

اجرای آزمایشی گزارش ها به دلیل یک خطای مهلک انجام نشد.

void testRunStarted (String runName, int testCount)

شروع اجرای آزمایشی را گزارش می دهد.

void testRunStopped (long elapsedTime)

اجرای آزمایشی گزارش‌ها قبل از تکمیل به دلیل درخواست کاربر متوقف شد.

void testStarted ( TestDescription test)

شروع یک مورد آزمایشی فردی را گزارش می دهد.

زمینه های

AFTER_FAILED_TESTCASES

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

یک محمول از پیش تعریف شده که پس از هر تست شکست خورده شلیک می شود

AT_START

public static final BugreportCollector.Predicate AT_START

یک محمول از پیش تعریف شده که با شروع اولین فراخوان فعال می شود

سازندگان عمومی

BugreportCollector

public BugreportCollector (ITestInvocationListener listener, 
                ITestDevice testDevice)

مولفه های
listener ITestInvocationListener

testDevice ITestDevice

روش های عمومی

add Predicate

public void addPredicate (BugreportCollector.Predicate p)

مولفه های
p BugreportCollector.Predicate

blockUntilIdle

public void blockUntilIdle ()

مسدود کنید تا زمانی که گردآورنده هیچ گونه گزارش اشکالی را جمع آوری نکند. اگر گردآورنده به طور فعال گزارش اشکال را جمع آوری نمی کند، فوراً برگردید

دریافت خلاصه

public TestSummary getSummary ()

به InvocationListener اجازه می دهد خلاصه ای را برگرداند.

برمی گرداند
TestSummary یک TestSummary که اجرا یا null را خلاصه می کند

فراخوان پایان یافت

public void invocationEnded (long elapsedTime)

گزارش می دهد که فراخوانی خاتمه یافته است، چه با موفقیت یا به دلیل برخی شرایط خطا.

به طور خودکار توسط چارچوب TradeFederation فراخوانی می شود.

مولفه های
elapsedTime long : زمان سپری شده فراخوانی در ms

فراخوان ناموفق بود

public void invocationFailed (Throwable cause)

یک فراخوان ناقص را به دلیل برخی شرایط خطا گزارش می دهد.

به طور خودکار توسط چارچوب TradeFederation فراخوانی می شود.

مولفه های
cause Throwable : علت Throwable شکست

invocationStarted

public void invocationStarted (IInvocationContext context)

شروع فراخوانی آزمون را گزارش می دهد.

به طور خودکار توسط چارچوب TradeFederation فراخوانی می شود. گزارشگران باید این روش را نادیده بگیرند تا از گزارش دهی چند دستگاه پشتیبانی کنند.

مولفه های
context IInvocationContext : اطلاعاتی در مورد فراخوانی

setAsynchronous

public void setAsynchronous (boolean asynchronous)

تنظیم کنید که آیا مجموعه گزارش اشکال باید گزارش اشکال را در رشته دیگری جمع آوری کند ( asynchronous = true )، یا تماس گیرنده را تا زمانی که گزارش اشکال ضبط شود مسدود کند ( asynchronous = false ).

مولفه های
asynchronous boolean

setDescriptiveName

public void setDescriptiveName (String name)

نام توصیفی را برای استفاده در هنگام ضبط گزارش‌های اشکال تنظیم کنید. اگر null ، BugreportCollector به رفتار پیش‌فرض مربوط به سریال‌سازی نام رویدادی که باعث جمع‌آوری گزارش اشکال شده است، بازمی‌گردد.

مولفه های
name String

setDeviceWaitTime

public void setDeviceWaitTime (int waitTime)

زمان را (بر حسب ثانیه) تنظیم کنید تا منتظر بمانیم تا دستگاه آنلاین شود قبل از اینکه بخواهیم گزارش اشکال را بگیریم. در صورت منفی بودن بررسی انجام نمی شود. هر DeviceNotAvailableException که در طول این بررسی با آن مواجه شود، ثبت می شود و نادیده گرفته می شود.

مولفه های
waitTime int

آزمون فرض شکست

public void testAssumptionFailure (TestDescription test, 
                String trace)

زمانی که یک آزمایش اتمی نشان می دهد که شرطی نادرست را فرض می کند، نامیده می شود

مولفه های
test TestDescription : تست را مشخص می کند

trace String : ردپای شکست

تست پایان یافت

public void testEnded (TestDescription test, 
                 testMetrics)

پایان اجرای یک مورد آزمایشی فردی را گزارش می کند.

اگر testFailed(TestDescription, FailureDescription) فراخوانی نمی شد، این آزمایش با موفقیت انجام شد. همچنین هر معیار کلید/مقداری را که ممکن است در طول اجرای مورد آزمایشی منتشر شده باشد، برمی گرداند.

مولفه های
test TestDescription : تست را مشخص می کند

testMetrics : یک ERROR(/Map) از معیارهای منتشر شده

تست شکست خورد

public void testFailed (TestDescription test, 
                String trace)

گزارش شکست یک مورد آزمایشی فردی.

بین testStarted و testEnded فراخوانی خواهد شد.

مولفه های
test TestDescription : تست را مشخص می کند

trace String : ردپای شکست

تست نادیده گرفته شد

public void testIgnored (TestDescription test)

زمانی که آزمایشی اجرا نمی‌شود نامیده می‌شود، معمولاً به این دلیل که یک روش تست با org.junit.Ignore حاشیه‌نویسی می‌شود.

مولفه های
test TestDescription : تست را مشخص می کند

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 ممکن است در هر فراخوان منحصر به فرد نباشد. به عنوان مثال، پیاده‌کننده‌ها باید بتوانند چندین تماس را با یک dataName مدیریت کنند

dataType LogDataType : LogDataType داده ها

dataStream InputStreamSource : InputStreamSource داده ها. پیاده‌کننده‌ها باید createInputStream را برای شروع خواندن داده‌ها فراخوانی کنند و از بسته شدن InputStream حاصل پس از تکمیل اطمینان حاصل کنند. تماس‌گیرندگان باید اطمینان حاصل کنند که منبع داده‌ها تا زمانی که روش testLog کامل نشود، موجود و قابل دسترسی است.

testRunEnded

public void testRunEnded (long elapsedTime, 
                 runMetrics)

گزارش پایان اجرای آزمایشی FIXME: ما نمی توانیم دو رابط Map<> با نوع متفاوت داشته باشیم، بنابراین باید از HashMap در اینجا استفاده کنیم.

مولفه های
elapsedTime long : دستگاه زمان سپری شده را بر حسب میلی ثانیه گزارش کرد

runMetrics : جفت های کلید-مقدار در پایان اجرای آزمایشی با Metric گزارش شده است.

testRunFailed

public void testRunFailed (String errorMessage)

اجرای آزمایشی گزارش ها به دلیل یک خطای مهلک انجام نشد.

مولفه های
errorMessage String : String که دلیل شکست اجرا را توضیح می دهد.

testRunStarted

public void testRunStarted (String runName, 
                int testCount)

شروع اجرای آزمایشی را گزارش می دهد.

مولفه های
runName String : نام اجرای آزمایشی

testCount int : تعداد کل تست ها در اجرای آزمایشی

testRunStopped

public void testRunStopped (long elapsedTime)

اجرای آزمایشی گزارش‌ها قبل از تکمیل به دلیل درخواست کاربر متوقف شد.

TODO: در حال حاضر استفاده نشده است، حذف را در نظر بگیرید

مولفه های
elapsedTime long : دستگاه زمان سپری شده را بر حسب میلی ثانیه گزارش کرد

تست شروع شد

public void testStarted (TestDescription test)

شروع یک مورد آزمایشی فردی را گزارش می دهد. رابط قدیمی‌تر، باید در صورت امکان testStarted(com.android.tradefed.result.TestDescription) استفاده کند.

مولفه های
test TestDescription : تست را مشخص می کند