调用执行
public class InvocationExecution
extends Object
implements IInvocationExecution
java.lang.Object | |
↳ | com.android.tradefed.invoker.InitationExecution |
描述所有调用步骤的类:构建下载、target_prep、运行测试、清理。可以扩展以覆盖某些步骤的默认行为。步骤的顺序由TestInvocation
驱动。
概括
领域 | |
---|---|
public static final String | ADB_VERSION_KEY |
public static final String | JAVA_CLASSPATH_KEY |
public static final String | JAVA_VERSION_KEY
|
公共构造函数 | |
---|---|
InvocationExecution () |
公共方法 | |
---|---|
void | cleanUpBuilds ( IInvocationContext context, IConfiguration config) 执行 build_provider 清理步骤。 |
void | doCleanUp ( IInvocationContext context, IConfiguration config, Throwable exception) 执行 target_preparer 和 multi_target_preparer cleanUp 步骤。 |
void | doSetup ( TestInformation testInfo, IConfiguration config, ITestLogger listener) 执行 target_preparer 和 multi_target_preparer 设置步骤。 |
void | doTeardown ( TestInformation testInfo, IConfiguration config, ITestLogger logger, Throwable exception) 执行 target_preparer 和 multi_target_preparer 拆卸步骤。 |
boolean | fetchBuild ( TestInformation testInfo, IConfiguration config, IRescheduler rescheduler, ITestInvocationListener listener) 执行调用的 build_provider 步骤。 |
void | reportLogs ( ITestDevice device, ITestLogger listener, TestInvocation.Stage stage) 报告调用不同阶段的一些设备日志。 |
void | runDevicePostInvocationTearDown ( IInvocationContext context, IConfiguration config, Throwable exception) 为调用的每个设备部分调用 |
void | runDevicePreInvocationSetup ( IInvocationContext context, IConfiguration config, ITestLogger logger) |
void | runTests ( TestInformation info, IConfiguration config, ITestInvocationListener listener) 运行测试。 |
boolean | shardConfig ( IConfiguration config, TestInformation testInfo, IRescheduler rescheduler, ITestLogger logger) 尝试将配置分割为子配置,以便重新安排在多个资源上并行运行。 |
受保护的方法 | |
---|---|
void | collectAutoInfo ( IConfiguration config, TestInformation info) 自动收集有关被测主设备的一些信息。 |
IShardHelper | createShardHelper () 创建一个返回要使用的 |
void | customizeDevicePreInvocation ( IConfiguration config, IInvocationContext context) 在 preIncationSetup 之前有机会自定义某些设备。 |
String | getAdbVersion () 返回用于调用的 adb 版本。 |
getLabPreparersToRun ( IConfiguration config, String deviceName) 检索要在此设备上运行的实验室准备器列表。 | |
getTargetPreparersToRun ( IConfiguration config, String deviceName) 检索要在此设备上运行的目标准备器的列表。 | |
void | logHostAdb ( IConfiguration config, ITestLogger logger) 从 $TMPDIR/adb.$UID.log 收集日志。 |
Throwable | runPreparersTearDown ( TestInformation testInfo, ITestDevice device, String deviceName, int deviceIndex, ITestLogger logger, Throwable exception, preparersToRun, trackPreparersMap) runPreparersTearDown ( TestInformation testInfo, ITestDevice device, String deviceName, int deviceIndex, ITestLogger logger, Throwable exception, preparersToRun, trackPreparersMap) runPreparersTearDown ( TestInformation testInfo, ITestDevice device, String deviceName, int deviceIndex, ITestLogger logger, Throwable exception, preparersToRun, trackPreparersMap) |
void | setTestTag ( IBuildInfo info, IConfiguration config) 处理在构建信息上设置测试标签。 |
领域
ADB_VERSION_KEY
public static final String ADB_VERSION_KEY
JAVA_CLASSPATH_KEY
public static final String JAVA_CLASSPATH_KEY
JAVA_VERSION_KEY
public static final String JAVA_VERSION_KEY
公共构造函数
调用执行
public InvocationExecution ()
公共方法
清理构建
public void cleanUpBuilds (IInvocationContext context, IConfiguration config)
执行 build_provider 清理步骤。与构建获取相关。
参数 | |
---|---|
context | IInvocationContext :调用的IInvocationContext 。 |
config | IConfiguration :本次测试运行的IConfiguration 。 |
清理
public void doCleanUp (IInvocationContext context, IConfiguration config, Throwable exception)
执行 target_preparer 和 multi_target_preparer cleanUp 步骤。设备是否清理干净。
参数 | |
---|---|
context | IInvocationContext :调用的IInvocationContext 。 |
config | IConfiguration :本次测试运行的IConfiguration 。 |
exception | Throwable :测试运行时抛出的原始异常。 |
执行设置
public void doSetup (TestInformation testInfo, IConfiguration config, ITestLogger listener)
执行 target_preparer 和 multi_target_preparer 设置步骤。是否设置了运行测试所需的所有设备。
参数 | |
---|---|
testInfo | TestInformation :调用的TestInformation 。 |
config | IConfiguration :本次测试运行的IConfiguration 。 |
listener | ITestLogger :报告设置失败日志的ITestLogger 。 |
投掷 | |
---|---|
BuildError | |
DeviceNotAvailableException | |
TargetSetupError |
拆解
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 :测试运行时抛出的原始异常。 |
获取构建
public boolean fetchBuild (TestInformation testInfo, IConfiguration config, IRescheduler rescheduler, ITestInvocationListener listener)
执行调用的 build_provider 步骤。
参数 | |
---|---|
testInfo | TestInformation :调用的TestInformation 。 |
config | IConfiguration :本次测试运行的IConfiguration 。 |
rescheduler | IRescheduler : IRescheduler ,用于重新安排调用的部分以便在另一个资源上执行 |
listener | ITestInvocationListener :报告构建下载失败的ITestInvocation 。 |
退货 | |
---|---|
boolean | 如果我们成功下载了构建版本,则为 true,否则为 false。 |
投掷 | |
---|---|
BuildRetrievalError | |
DeviceNotAvailableException |
报告日志
public void reportLogs (ITestDevice device, ITestLogger listener, TestInvocation.Stage stage)
报告调用不同阶段的一些设备日志。例如:logcat。
参数 | |
---|---|
device | ITestDevice :报告日志的设备。 |
listener | ITestLogger :日志记录器。 |
stage | TestInvocation.Stage :我们所处的调用阶段。 |
runDevicePostInspirationTearDown
public void runDevicePostInvocationTearDown (IInvocationContext context, IConfiguration config, Throwable exception)
为调用的每个设备部分调用ITestDevice#postInvocationTearDown(Throwable)
。
参数 | |
---|---|
context | IInvocationContext :调用的IInvocationContext 。 |
config | IConfiguration :本次测试运行的IConfiguration 。 |
exception | Throwable :测试运行时抛出的原始异常(如果有)。 |
运行设备预调用设置
public void runDevicePreInvocationSetup (IInvocationContext context, IConfiguration config, ITestLogger logger)
参数 | |
---|---|
context | IInvocationContext :调用的IInvocationContext 。 |
config | IConfiguration :本次测试运行的IConfiguration 。 |
logger | ITestLogger :报告日志的ITestLogger 。 |
投掷 | |
---|---|
DeviceNotAvailableException | |
TargetSetupError |
运行测试
public void runTests (TestInformation info, IConfiguration config, ITestInvocationListener listener)
运行测试。
参数 | |
---|---|
info | TestInformation :用于运行测试的TestInformation 。 |
config | IConfiguration :要运行的IConfiguration |
listener | ITestInvocationListener :测试结果的ITestInvocationListener |
分片配置
public boolean shardConfig (IConfiguration config, TestInformation testInfo, IRescheduler rescheduler, ITestLogger logger)
尝试将配置分割为子配置,以便重新安排在多个资源上并行运行。
如果分片计数大于 1,它将通过设置分片索引并重新安排它们来简单地为每个分片创建配置。如果未设置分片计数,它将回退到IShardHelper#shardConfig
。
参数 | |
---|---|
config | IConfiguration :当前的IConfiguration 。 |
testInfo | TestInformation :保存测试信息的TestInformation 。 |
rescheduler | IRescheduler : IRescheduler 。 |
logger | ITestLogger : ITestLogger 用于在分片期间记录文件。 |
退货 | |
---|---|
boolean | 如果测试被分片则为 true。否则返回false |
受保护的方法
收集汽车信息
protected void collectAutoInfo (IConfiguration config, TestInformation info)
自动收集有关被测主设备的一些信息。
参数 | |
---|---|
config | IConfiguration |
info | TestInformation |
投掷 | |
---|---|
DeviceNotAvailableException |
定制设备预调用
protected void customizeDevicePreInvocation (IConfiguration config, IInvocationContext context)
在 preIncationSetup 之前有机会自定义某些设备。
参数 | |
---|---|
config | IConfiguration :调用的配置。 |
context | IInvocationContext :当前调用上下文。 |
获取Adb版本
protected String getAdbVersion ()
返回用于调用的 adb 版本。
退货 | |
---|---|
String |
getLabPreparersToRun
protectedgetLabPreparersToRun (IConfiguration config, String deviceName)
检索要在此设备上运行的实验室准备器列表。
在沙箱类中重写,以限制实验室准备者在沙箱子项内运行
参数 | |
---|---|
config | IConfiguration |
deviceName | String |
退货 | |
---|---|
getTargetPreparersToRun
protectedgetTargetPreparersToRun (IConfiguration config, String deviceName)
检索要在此设备上运行的目标准备器的列表。
在沙箱类中重写,以限制实验室准备者在沙箱子项内运行
参数 | |
---|---|
config | IConfiguration |
deviceName | String |
退货 | |
---|---|
日志主机Adb
protected void logHostAdb (IConfiguration config, ITestLogger logger)
从 $TMPDIR/adb.$UID.log 收集日志。
参数 | |
---|---|
config | IConfiguration |
logger | ITestLogger |
运行PreparersTearDown
protected Throwable runPreparersTearDown (TestInformation testInfo, ITestDevice device, String deviceName, int deviceIndex, ITestLogger logger, Throwable exception,preparersToRun, trackPreparersMap)
参数 | |
---|---|
testInfo | TestInformation |
device | ITestDevice |
deviceName | String |
deviceIndex | int |
logger | ITestLogger |
exception | Throwable |
preparersToRun | |
trackPreparersMap |
退货 | |
---|---|
Throwable |
设置测试标签
protected void setTestTag (IBuildInfo info, IConfiguration config)
处理在构建信息上设置测试标签。
参数 | |
---|---|
info | IBuildInfo |
config | IConfiguration |