IInvocationExecution

public interface IInvocationExecution

com.android.tradefed.invoker.IInvocationExecution


用于描述在调用过程中要执行的操作的接口。调用 TestInvocation 本身可确保调用的顺序。

摘要

公共方法

default void cleanUpBuilds(IInvocationContext context, IConfiguration config)

执行 build_provider 清理步骤。

default void doCleanUp(IInvocationContext context, IConfiguration config, Throwable exception)

执行 target_preparer 和 multi_target_preparer cleanUp 步骤。

default void doSetup(TestInformation testInfo, IConfiguration config, ITestLogger logger)

执行 target_preparer 和 multi_target_preparer setUp 步骤。

default void doTeardown(TestInformation testInfo, IConfiguration config, ITestLogger logger, Throwable exception)

执行 target_preparer 和 multi_target_preparer 拆解步骤。

default boolean fetchBuild(TestInformation testInfo, IConfiguration config, IRescheduler rescheduler, ITestInvocationListener listener)

执行调用的 build_provider 步骤。

abstract void reportLogs(ITestDevice device, ITestLogger logger, TestInvocation.Stage stage)

在调用的不同阶段报告一些设备日志。

default void runDevicePostInvocationTearDown(IInvocationContext context, IConfiguration config, Throwable exception)

针对调用的每个设备部分调用 ITestDevice.postInvocationTearDown(Throwable)

default void runDevicePreInvocationSetup(IInvocationContext context, IConfiguration config, ITestLogger logger)

针对调用的每个设备部分调用 ERROR(ITestDevice.preInvocationSetup(IBuildInfo)/com.android.tradefed.device.ITestDevice#preInvocationSetup(com.android.tradefed.build.IBuildInfo) ITestDevice.preInvocationSetup(IBuildInfo))

default void runTests(TestInformation info, IConfiguration config, ITestInvocationListener listener)

运行测试。

default boolean shardConfig(IConfiguration config, TestInformation testInfo, IRescheduler rescheduler, ITestLogger logger)

尝试将配置分片为子配置,以便重新调度在多个资源上并行运行。

公共方法

cleanUpBuilds

public void cleanUpBuilds (IInvocationContext context, 
                IConfiguration config)

执行 build_provider 清理步骤。与 build 提取相关。

参数
context IInvocationContext:调用的 IInvocationContext

config IConfiguration:此测试运行的 IConfiguration

doCleanUp

public void doCleanUp (IInvocationContext context, 
                IConfiguration config, 
                Throwable exception)

执行 target_preparer 和 multi_target_preparer cleanUp 步骤。设备是否会进行清理。

参数
context IInvocationContext:调用的 IInvocationContext

config IConfiguration:此测试运行的 IConfiguration

exception Throwable:测试运行时抛出的原始异常。

doSetup

public void doSetup (TestInformation testInfo, 
                IConfiguration config, 
                ITestLogger logger)

执行 target_preparer 和 multi_target_preparer 的 setUp 步骤。是否已完成运行测试所需的所有设备设置。

参数
testInfo TestInformation:调用的 TestInformation

config IConfiguration:此测试运行的 IConfiguration

logger ITestLogger:用于报告设置失败日志的 ITestLogger

抛出
com.android.tradefed.targetprep.TargetSetupError
com.android.tradefed.targetprep.BuildError
com.android.tradefed.device.DeviceNotAvailableException
BuildError
DeviceNotAvailableException
TargetSetupError

doTeardown

public void doTeardown (TestInformation testInfo, 
                IConfiguration config, 
                ITestLogger logger, 
                Throwable exception)

执行 target_preparer 和 multi_target_preparer 拆解步骤。设备是否会拆解与设置相关联的设备。

参数
testInfo TestInformation:调用的 TestInformation

config IConfiguration:此测试运行的 IConfiguration

logger ITestLogger:用于报告日志的 ITestLogger

exception Throwable:测试运行时抛出的原始异常。

抛出
可投掷

fetchBuild

public boolean fetchBuild (TestInformation testInfo, 
                IConfiguration config, 
                IRescheduler rescheduler, 
                ITestInvocationListener listener)

执行调用的 build_provider 步骤。

参数
testInfo TestInformation:调用的 TestInformation

config IConfiguration:此测试运行的 IConfiguration

rescheduler IReschedulerIRescheduler,用于重新调度调用的部分,以便在其他资源上执行

listener ITestInvocationListener:用于报告 build 下载失败的 ITestInvocation

返回
boolean 如果成功下载 build,则为 true;否则为 false。

抛出
com.android.tradefed.build.BuildRetrievalError
com.android.tradefed.device.DeviceNotAvailableException
BuildRetrievalError
DeviceNotAvailableException

reportLogs

public abstract void reportLogs (ITestDevice device, 
                ITestLogger logger, 
                TestInvocation.Stage stage)

在调用的不同阶段报告一些设备日志。例如:logcat。

参数
device ITestDevice:要报告日志的设备。

logger ITestLogger:日志的记录器。

stage TestInvocation.Stage:当前调用的阶段。

runDevicePostInvocationTearDown

public void runDevicePostInvocationTearDown (IInvocationContext context, 
                IConfiguration config, 
                Throwable exception)

针对调用的每个设备部分调用 ITestDevice.postInvocationTearDown(Throwable)

参数
context IInvocationContext:调用的 IInvocationContext

config IConfiguration:此测试运行的 IConfiguration

exception Throwable:运行测试时抛出的原始异常(如果有)。

runDevicePreInvocationSetup

public void runDevicePreInvocationSetup (IInvocationContext context, 
                IConfiguration config, 
                ITestLogger logger)

针对调用的每个设备部分调用 ERROR(ITestDevice.preInvocationSetup(IBuildInfo)/com.android.tradefed.device.ITestDevice#preInvocationSetup(com.android.tradefed.build.IBuildInfo) ITestDevice.preInvocationSetup(IBuildInfo))

参数
context IInvocationContext:调用的 IInvocationContext

config IConfiguration:此测试运行的 IConfiguration

logger ITestLogger:用于报告日志的 ITestLogger

抛出
com.android.tradefed.device.DeviceNotAvailableException
com.android.tradefed.targetprep.TargetSetupError
DeviceNotAvailableException
TargetSetupError

runTests

public void runTests (TestInformation info, 
                IConfiguration config, 
                ITestInvocationListener listener)

运行测试。

参数
info TestInformation:用于运行测试的 TestInformation

config IConfiguration:要运行的 IConfiguration

listener ITestInvocationListener:测试结果的 ITestInvocationListener

抛出
可投掷

shardConfig

public boolean shardConfig (IConfiguration config, 
                TestInformation testInfo, 
                IRescheduler rescheduler, 
                ITestLogger logger)

尝试将配置分片为子配置,以便重新调度在多个资源上并行运行。

如果分片数量大于 1,则只需通过设置分片编号为每个分片创建配置,并重新调度它们。如果未设置分片数量,则会回退到 IShardHelper.shardConfig

参数
config IConfiguration:当前的 IConfiguration

testInfo TestInformation:用于存储测试信息的 TestInformation

rescheduler IReschedulerIRescheduler

logger ITestLoggerITestLogger 用于在分片期间记录文件。

返回
boolean 如果测试已分片,则为 true。否则返回 false