گردآورنده گزارش‌های باگر

public class BugreportCollector
extends Object implements ITestInvocationListener

شیء جاوا
com.android.tradefed.result.BugreportCollector


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

رفتارها: (اصلاح: اینو تموم کن)

  • اگر هر کدام از موارد آزمایشی با شکست مواجه شدند، پس از هر مورد، ضبط کنید
  • بعد از هر مورد آزمایشی، ضبط کنید
  • بعد از هر مورد آزمایشی ناموفق، ضبط کنید
  • ضبط

خلاصه

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

class BugreportCollector.Predicate

یک گزاره کامل که زمان ثبت گزارش اشکال (bugreport) را توصیف می‌کند.

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)

تنظیم کنید که آیا مجموعه bugreport باید bugreport را در یک thread متفاوت جمع‌آوری کند ( asynchronous = true )، یا تا زمانی که bugreport دریافت شود، فراخواننده را مسدود کند ( asynchronous = false ).

void setDescriptiveName (String name)

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

void setDeviceWaitTime (int waitTime)

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

void testAssumptionFailure ( TestDescription test, String trace)

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

void testEnded ( TestDescription test, HashMap<String, MetricMeasurement.Metric> testMetrics)

پایان اجرای یک مورد آزمایشی (test case) را گزارش می‌دهد.

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, HashMap<String, MetricMeasurement.Metric> runMetrics)

پایان اجرای آزمایش را گزارش می‌دهد.

void testRunFailed (String errorMessage)

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

void testRunStarted (String runName, int testCount)

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

void testRunStopped (long elapsedTime)

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

void testStarted ( TestDescription test)

شروع یک مورد آزمایشی (test case) منفرد را گزارش می‌دهد.

فیلدها

موارد آزمایشی ناموفق پس از

public static final BugreportCollector.Predicate AFTER_FAILED_TESTCASES

یک گزاره از پیش تعریف شده که پس از هر مورد آزمایشی ناموفق اجرا می‌شود

شروع_AT

public static final BugreportCollector.Predicate AT_START

یک گزاره از پیش تعریف شده که با شروع اولین فراخوانی اجرا می‌شود.

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

گردآورنده گزارش‌های باگر

public BugreportCollector (ITestInvocationListener listener, 
                ITestDevice testDevice)

پارامترها
listener ITestInvocationListener

testDevice ITestDevice

روش‌های عمومی

اضافه کردن پیشوند

public void addPredicate (BugreportCollector.Predicate p)

پارامترها
p BugreportCollector.Predicate

بلوکUntilIdle

public void blockUntilIdle ()

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

خلاصه دریافت

public TestSummary getSummary ()

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

بازگشت‌ها
TestSummary یک TestSummary که خلاصه‌ای از اجرا را نشان می‌دهد، یا null

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

public void invocationEnded (long elapsedTime)

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

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

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

فراخوانی ناموفق

public void invocationFailed (Throwable cause)

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

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

پارامترها
cause Throwable : علت Throwable خرابی

فراخوان شروع شد

public void invocationStarted (IInvocationContext context)

شروع فراخوانی تست را گزارش می‌دهد.

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

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

تنظیم ناهمزمان

public void setAsynchronous (boolean asynchronous)

تنظیم کنید که آیا مجموعه bugreport باید bugreport را در یک thread متفاوت جمع‌آوری کند ( asynchronous = true )، یا تا زمانی که bugreport دریافت شود، فراخواننده را مسدود کند ( asynchronous = false ).

پارامترها
asynchronous boolean

setDescriptiveName

public void setDescriptiveName (String name)

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

پارامترها
name String

تنظیم زمان انتظار دستگاه

public void setDeviceWaitTime (int waitTime)

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

پارامترها
waitTime int

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

public void testAssumptionFailure (TestDescription test, 
                String trace)

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

پارامترها
test TestDescription : تست را مشخص می‌کند.

trace String : ردپای پشته از خرابی

آزمون پایان یافت

public void testEnded (TestDescription test, 
                HashMap<String, MetricMeasurement.Metric> testMetrics)

پایان اجرای یک مورد آزمایشی (test case) را گزارش می‌دهد.

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

پارامترها
test TestDescription : تست را مشخص می‌کند.

testMetrics HashMap : Map از معیارهای منتشر شده

تست ناموفق

public void testFailed (TestDescription test, 
                String trace)

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

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

پارامترها
test TestDescription : تست را مشخص می‌کند.

trace String : ردپای پشته از خرابی

آزمون نادیده گرفته شد

public void testIgnored (TestDescription test)

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

پارامترها
test TestDescription : تست را مشخص می‌کند.

تست لاگ

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

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

باید قبل از ERROR(ITestInvocationListener.invocationFailed(Throwable)/ITestInvocationListener#invocationFailed(java.lang.Throwable) ITestInvocationListener.invocationFailed(Throwable)) یا ERROR(/ITestInvocationListener#invocationEnded(long)) فراخوانی شود.

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

پارامترها
dataName String : یک نام توصیفی String از داده‌ها. مثلاً "device_logcat". توجه داشته باشید که dataName ممکن است در هر فراخوانی منحصر به فرد نباشد. یعنی پیاده‌سازی‌کنندگان باید بتوانند چندین فراخوانی را با همان dataName مدیریت کنند.

dataType LogDataType : نوع داده‌ی LogDataType

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

تست اجرا شده

public void testRunEnded (long elapsedTime, 
                HashMap<String, MetricMeasurement.Metric> runMetrics)

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

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

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

تست اجرا ناموفق

public void testRunFailed (String errorMessage)

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

پارامترها
errorMessage String : String دلیل عدم موفقیت در اجرا را توصیف می‌کند.

تست شروع شد

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)

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

پارامترها
test TestDescription : تست را مشخص می‌کند.