GranularRetriableTestWrapper

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, moduleLevelListeners, int maxRunLimit)
GranularRetriableTestWrapper(IRemoteTest test, ModuleDefinition module, ITestInvocationListener mainListener, moduleLevelListeners, int maxRunLimit)

公用方法

final int getExpectedTestsCount()

計算 IRemoteTest 中的測試案例數量。

final getFinalTestRunResults()

從每個 IRemoteTest 執行作業取得合併的 TestRunResults。

final getPassedTests()
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)

ModuleDefinition 的 runMetricCollector 設為 GranularRetriableTestWrapper 屬性。

void setModuleConfig(IConfiguration moduleConfiguration)

ModuleDefinition 的 ModuleConfig 設為 GranularRetriableTestWrapper 屬性。

void setModuleId(String moduleId)

ModuleDefinition 名稱設為 GranularRetriableTestWrapper 屬性。

void setRetryDecision(IRetryDecision decision)

設定要使用的 IRetryDecision

公用建構函式

GranularRetriableTestWrapper

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

參數
test IRemoteTest

mainListener ITestInvocationListener

moduleLevelListeners

maxRunLimit int

GranularRetriableTestWrapper

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

參數
test IRemoteTest

module ModuleDefinition

mainListener ITestInvocationListener

moduleLevelListeners

maxRunLimit int

公用方法

getexpectedTestsCount

public final int getExpectedTestsCount ()

計算 IRemoteTest 中的測試案例數量。這個值可區分多次重新排定的相同測試案例。

傳回
int

getFinalTestRunResults

public final  getFinalTestRunResults ()

取得每個 IRemoteTest 執行作業的合併 TestRunResults。

傳回

getPassedTests

public final  getPassedTests ()

傳回

getResultListener

public ModuleListener getResultListener ()

傳回包含所有結果的事件監聽器。

傳回
ModuleListener

getRetryCount

public int getRetryCount ()

傳回
int

得分

public void run (TestInformation testInfo, 
                ITestInvocationListener listener)

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

參數
testInfo TestInformationTestInformation 物件,內含執行測試的實用資訊。

listener ITestInvocationListener:ResultForwarder 事件監聽器,內含每次執行的新 moduleListener。

擲回
DeviceNotAvailableException

setCollectTestsOnly

public void setCollectTestsOnly (boolean shouldCollectTest)

啟用或停用測試收集模式

setInvocationContext

public void setInvocationContext (IInvocationContext moduleInvocationContext)

IInvocationContext 設為 GranularRetriableTestWrapper 屬性。

參數
moduleInvocationContext IInvocationContext:包裝函式會在必要時使用 InvocationContext 初始化 MetricCollector。

setLogSaver

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 清單。

setModuleConfig

public void setModuleConfig (IConfiguration moduleConfiguration)

ModuleDefinition 的 ModuleConfig 設為 GranularRetriableTestWrapper 屬性。

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

setModuleId

public void setModuleId (String moduleId)

ModuleDefinition 名稱設為 GranularRetriableTestWrapper 屬性。

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

setRetryDecision

public void setRetryDecision (IRetryDecision decision)

設定要使用的 IRetryDecision

參數
decision IRetryDecision