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)可以接受测试用例的许可名单,并且仅运行这些测试用例。此类利用现有功能,并提供了更灵活的测试套件运行方式。
 
- 单个测试用例可重试多次(在同一 IRemoteTest 运行中),以降低非测试错误失败率。
 - 系统会从之前运行失败的测试中动态收集要重试的测试用例。
 
注意:
- 运行部分测试用例的前提是,测试类型应实现接口 
ITestFilterReceiver。 - X 是自定义的重试次数上限。
 
摘要
嵌套类 | |
|---|---|
        
        
        
        
        class | 
      
        GranularRetriableTestWrapper.StartEndCollector
        用于捕获缺失的运行开始和结束时间的类辅助程序。  | 
    
公共构造函数 | |
|---|---|
      
      GranularRetriableTestWrapper(IRemoteTest test, ITestInvocationListener mainListener, int maxRunLimit)
      
      
     | 
  |
      
      GranularRetriableTestWrapper(IRemoteTest test, ModuleDefinition module, ITestInvocationListener mainListener, int maxRunLimit)
      
      
     | 
  |
      
      GranularRetriableTestWrapper(IRemoteTest test, ModuleDefinition module, ITestInvocationListener mainListener, int maxRunLimit, boolean useModuleResultsForwarder)
      
      
     | 
  |
公共构造函数
GranularRetriableTestWrapper
public GranularRetriableTestWrapper (IRemoteTest test, ITestInvocationListener mainListener, int maxRunLimit)
| 参数 | |
|---|---|
test | 
        
          IRemoteTest  | 
      
mainListener | 
        
          ITestInvocationListener  | 
      
maxRunLimit | 
        
          int  | 
      
GranularRetriableTestWrapper
public GranularRetriableTestWrapper (IRemoteTest test, ModuleDefinition module, ITestInvocationListener mainListener, int maxRunLimit)
| 参数 | |
|---|---|
test | 
        
          IRemoteTest  | 
      
module | 
        
          ModuleDefinition  | 
      
mainListener | 
        
          ITestInvocationListener  | 
      
maxRunLimit | 
        
          int  | 
      
GranularRetriableTestWrapper
public GranularRetriableTestWrapper (IRemoteTest test, ModuleDefinition module, ITestInvocationListener mainListener, int maxRunLimit, boolean useModuleResultsForwarder)
| 参数 | |
|---|---|
test | 
        
          IRemoteTest  | 
      
module | 
        
          ModuleDefinition  | 
      
mainListener | 
        
          ITestInvocationListener  | 
      
maxRunLimit | 
        
          int  | 
      
useModuleResultsForwarder | 
        
          boolean  | 
      
公共方法
getExpectedTestsCount
public final int getExpectedTestsCount ()
计算 IRemoteTest 中的测试用例数量。此值用于区分多次重新调度的同一测试用例。
| 返回 | |
|---|---|
int | 
        |
getFinalTestRunResults
public finalgetFinalTestRunResults () 
从每个 IRemoteTest 运行中获取合并的 TestRunResult。
| 返回 | |
|---|---|
 | 
        |
getPassedTests
public finalgetPassedTests () 
| 返回 | |
|---|---|
 | 
        |
getRetryCount
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)
启用或停用测试集合模式
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:moduleDefinition 的名称。 | 
      
setRetryDecision
public void setRetryDecision (IRetryDecision decision)
设置要使用的 IRetryDecision。
| 参数 | |
|---|---|
decision | 
        
          IRetryDecision  |