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

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

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

公共構造函數

GranularRetriableTestWrapper

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

參數
test IRemoteTest

mainListener ITestInvocationListener

failureListener TestFailureListener

moduleLevelListeners

maxRunLimit int

GranularRetriableTestWrapper

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 void run (TestInformation testInfo, 
                ITestInvocationListener listener)

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

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

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 :提供模塊指標。

setModuleId

public void setModuleId (String moduleId)

ModuleDefinition名稱設置為GranularRetriableTestWrapper屬性。

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

設置重試決策

public void setRetryDecision (IRetryDecision decision)

設置要使用的IRetryDecision

參數
decision IRetryDecision