粒度可重试测试包装器

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