粒度可重試測試包裝器

public class GranularRetriableTestWrapper
extends Object implements IRemoteTest , ITestCollector

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


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

  • 單一測試案例可以重試多次(在同一個 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。

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) 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

公共方法

取得預期測試計數

public final int getExpectedTestsCount ()

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

退貨
int

取得最終測試運行結果

public final  getFinalTestRunResults ()

從每次IRemoteTest運行中取得合併的 TestRunResults。

退貨

獲得通過的測試

public final  getPassedTests ()

退貨

取得結果監聽器

public ModuleListener getResultListener ()

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

退貨
ModuleListener

取得重試次數

public int getRetryCount ()

退貨
int

跑步

public void run (TestInformation testInfo, 
                ITestInvocationListener listener)

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

參數
testInfo TestInformationTestInformation物件包含執行測試的有用資訊。

listener ITestInvocationListener :ResultForwarder 偵聽器,每次運行都包含一個新的 moduleListener。

投擲
DeviceNotAvailableException

僅設定收集測試

public void setCollectTestsOnly (boolean shouldCollectTest)

啟用或停用測試收集模式

設定呼叫上下文

public void setInvocationContext (IInvocationContext moduleInvocationContext)

IInvocationContext設定為GranularRetriableTestWrapper屬性。

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

設定日誌保存程序

public void setLogSaver (ILogSaver logSaver)

將模組的ILogSaver設定為GranularRetriableTestWrapper屬性。

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

設定跳過的標記測試

public void setMarkTestsSkipped (boolean skipTestCases)

ModuleDefinition RunStrategy 設定為GranularRetriableTestWrapper屬性。

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

設定MetricCollectors

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