粒度可重試測試包裝器

public class GranularRetriableTestWrapper
extends Object implements IRemoteTest , ITestCollector

java.lang.Object
com.android.tradefed.testtype.suite.GranularRetriableTestWrapper


包裝類在IRemoteTest上工作,以在測試用例級別對 IRemoteTest 進行粒度化。一個 IRemoteTest 可以包含多個測試用例。以前,這些測試用例被視為一個整體:當 IRemoteTest 運行時,所有測試用例都會運行。一些 IRemoteTest(實現 ITestFilterReceiver 的那些)可以接受測試用例的白名單並且只運行那些測試用例。此類利用現有功能並提供更靈活的方式來運行測試套件。

  • 可以多次重試單個測試用例(在同一次 IRemoteTest 運行中)以降低非測試錯誤失敗率。
  • 重試的測試用例是從以前的運行失敗中動態收集的。

筆記:

  • 運行測試用例子集的先決條件是測試類型應實現ITestFilterReceiver接口。
  • X 是自定義的最大重試次數。

概括

嵌套類

class GranularRetriableTestWrapper.StartEndCollector

捕捉缺失的運行開始和結束的類助手。

公共構造函數

GranularRetriableTestWrapper ( IRemoteTest test, ITestInvocationListener mainListener, TestFailureListener failureListener, moduleLevelListeners, int maxRunLimit) GranularRetriableTestWrapper ( IRemoteTest test, ITestInvocationListener mainListener, TestFailureListener failureListener, moduleLevelListeners, int maxRunLimit)
GranularRetriableTestWrapper ( IRemoteTest test, ModuleDefinition module, ITestInvocationListener mainListener, TestFailureListener failureListener, moduleLevelListeners, int maxRunLimit) GranularRetriableTestWrapper ( IRemoteTest test, ModuleDefinition module, ITestInvocationListener mainListener, TestFailureListener failureListener, moduleLevelListeners, int maxRunLimit)

公共方法

final int getExpectedTestsCount ()

計算IRemoteTest中的測試用例數。

final getFinalTestRunResults ()

從每個IRemoteTest運行中獲取合併的 TestRunResults。

ModuleListener getResultListener ()

返回包含所有結果的偵聽器。

int getRetryCount ()
void run ( TestInformation testInfo, ITestInvocationListener listener)

安排一系列IRemoteTest#run(TestInformation, ITestInvocationListener)

void setCollectTestsOnly (boolean shouldCollectTest)

啟用或禁用測試收集模式

void setInvocationContext ( IInvocationContext moduleInvocationContext)

IInvocationContext設置為GranularRetriableTestWrapper屬性。

void setLogSaver ( ILogSaver logSaver)

將模塊的ILogSaver設置為GranularRetriableTestWrapper屬性。

void setMarkTestsSkipped (boolean skipTestCases)

ModuleDefinition RunStrategy 設置為GranularRetriableTestWrapper屬性。

void setMetricCollectors ( runMetricCollectors) setMetricCollectors ( runMetricCollectors)

ModuleDefinition的 runMetricCollector 設置為GranularRetriableTestWrapper屬性。

void setModuleConfig ( IConfiguration moduleConfiguration)

ModuleDefinition的 ModuleConfig 設置為GranularRetriableTestWrapper屬性。

void setModuleId (String moduleId)

ModuleDefinition名稱設置為GranularRetriableTestWrapper屬性。

void setRetryDecision ( IRetryDecision decision)

設置要使用的IRetryDecision

公共構造函數

粒度可重試測試包裝器

public GranularRetriableTestWrapper (IRemoteTest test, 
                ITestInvocationListener mainListener, 
                TestFailureListener failureListener, 
                 moduleLevelListeners, 
                int maxRunLimit)

參數
test IRemoteTest

mainListener ITestInvocationListener

failureListener TestFailureListener

moduleLevelListeners

maxRunLimit int

粒度可重試測試包裝器

public GranularRetriableTestWrapper (IRemoteTest test, 
                ModuleDefinition module, 
                ITestInvocationListener mainListener, 
                TestFailureListener failureListener, 
                 moduleLevelListeners, 
                int maxRunLimit)

參數
test IRemoteTest

module ModuleDefinition

mainListener ITestInvocationListener

failureListener TestFailureListener

moduleLevelListeners

maxRunLimit int

公共方法

getExpectedTestsCount

public final int getExpectedTestsCount ()

計算IRemoteTest中的測試用例數。該值區分多次重新安排的相同測試用例。

退貨
int

獲取最終測試運行結果

public final  getFinalTestRunResults ()

從每個IRemoteTest運行中獲取合併的 TestRunResults。

退貨

獲取結果監聽器

public ModuleListener getResultListener ()

返回包含所有結果的偵聽器。

退貨
ModuleListener

獲取重試次數

public int getRetryCount ()

退貨
int

跑步

public void run (TestInformation testInfo, 
                ITestInvocationListener listener)

安排一系列IRemoteTest#run(TestInformation, ITestInvocationListener)

參數
testInfo TestInformation :包含運行測試的有用信息的TestInformation對象。

listener ITestInvocationListener :ResultForwarder 偵聽器,其中包含每次運行的新 moduleListener。

投擲
DeviceNotAvailableException

setCollectTestsOnly

public void setCollectTestsOnly (boolean shouldCollectTest)

啟用或禁用測試收集模式

設置調用上下文

public void setInvocationContext (IInvocationContext moduleInvocationContext)

IInvocationContext設置為GranularRetriableTestWrapper屬性。

參數
moduleInvocationContext IInvocationContext :包裝器在必要時使用 InvocationContext 來初始化 MetricCollector。

設置日誌保存器

public void setLogSaver (ILogSaver logSaver)

將模塊的ILogSaver設置為GranularRetriableTestWrapper屬性。

參數
logSaver ILogSaver :每次測試運行的監聽器都應該保存日誌。

setMarkTestsSkipped

public void setMarkTestsSkipped (boolean skipTestCases)

ModuleDefinition RunStrategy 設置為GranularRetriableTestWrapper屬性。

參數
skipTestCases boolean : 是否應該跳過測試用例。

setMetricCollectors

public void setMetricCollectors ( runMetricCollectors)

ModuleDefinition的 runMetricCollector 設置為GranularRetriableTestWrapper屬性。

參數
runMetricCollectors :模塊的 MetricCollector 列表。

設置模塊配置

public void setModuleConfig (IConfiguration moduleConfiguration)

ModuleDefinition的 ModuleConfig 設置為GranularRetriableTestWrapper屬性。

參數
moduleConfiguration IConfiguration :提供模塊指標。

設置模塊Id

public void setModuleId (String moduleId)

ModuleDefinition名稱設置為GranularRetriableTestWrapper屬性。

參數
moduleId String :模塊定義的名稱。

設置重試決定

public void setRetryDecision (IRetryDecision decision)

設置要使用的IRetryDecision

參數
decision IRetryDecision