InvocationExecution
public
class
InvocationExecution
extends Object
implements
IInvocationExecution
java.lang.Object 中 | |
↳ | com.android.tradefed.invoker.InvocationExecution |
描述所有调用步骤的类:build 下载、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 清理步骤。 |
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)
有机会在 preInvocationSetup 之前自定义某些设备。 |
String
|
getAdbVersion()
返回用于调用的 adb 版本。 |
|
getLabPreparersToRun(IConfiguration config, String deviceName)
检索要在此设备上运行的实验准备器列表。 |
|
getTargetPreparersToRun(IConfiguration config, String deviceName)
检索要在此设备上运行的目标准备器列表。 |
void
|
linkExternalDirs(IBuildInfo info, TestInformation testInfo)
|
void
|
logHostAdb(IConfiguration config, ITestLogger logger)
从 $TMPDIR/adb.$UID.log 收集日志。 |
Throwable
|
runPreparersTearDown(TestInformation testInfo, ITestDevice device, String deviceName, int deviceIndex, ITestLogger logger, Throwable exception,
|
void
|
setTestTag(IBuildInfo info, IConfiguration config)
处理在 build 信息上设置测试标记的操作。 |
字段
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
公共构造函数
InvocationExecution
public InvocationExecution ()
公共方法
cleanUpBuild
public void cleanUpBuilds (IInvocationContext context, IConfiguration config)
执行 build_provider 清理步骤。与构建提取相关联。
参数 | |
---|---|
context |
IInvocationContext :调用的 IInvocationContext 。 |
config |
IConfiguration :此测试运行的 IConfiguration 。 |
doCleanUp
public void doCleanUp (IInvocationContext context, IConfiguration config, Throwable exception)
执行 target_ preparer 和 multi_target_ preparer 清理步骤。设备会清理吗 。
参数 | |
---|---|
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 :运行测试时抛出的原始异常。 |
fetchBuild
public boolean fetchBuild (TestInformation testInfo, IConfiguration config, IRescheduler rescheduler, ITestInvocationListener listener)
执行调用的 build_provider 步骤。
参数 | |
---|---|
testInfo |
TestInformation :调用的 TestInformation 。 |
config |
IConfiguration :此测试运行的 IConfiguration 。 |
rescheduler |
IRescheduler :IRescheduler ,用于重新调度部分调用
在其他资源上执行 |
listener |
ITestInvocationListener :用于报告 build 下载失败的 ITestInvocation 。 |
返回 | |
---|---|
boolean |
如果我们成功下载了构建,则为 true,否则为 false。 |
抛出 | |
---|---|
BuildRetrievalError |
|
DeviceNotAvailableException |
reportLogs
public void reportLogs (ITestDevice device, ITestLogger listener, TestInvocation.Stage stage)
报告在调用的不同阶段的一些设备日志。例如:logcat。
参数 | |
---|---|
device |
ITestDevice :要从中报告日志的设备。 |
listener |
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)
参数 | |
---|---|
context |
IInvocationContext :调用的 IInvocationContext 。 |
config |
IConfiguration :此测试运行的 IConfiguration 。 |
logger |
ITestLogger :要报告日志的 ITestLogger 。 |
抛出 | |
---|---|
DeviceNotAvailableException |
|
TargetSetupError |
runTest
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 |
IRescheduler :IRescheduler 。 |
logger |
ITestLogger :ITestLogger ,用于在分片期间记录文件。 |
返回 | |
---|---|
boolean |
如果测试已分片,则为 true。否则返回 false |
受保护的方法
收集自动信息
protected void collectAutoInfo (IConfiguration config, TestInformation info)
在被测主要设备上自动收集一些信息。
参数 | |
---|---|
config |
IConfiguration |
info |
TestInformation |
抛出 | |
---|---|
DeviceNotAvailableException |
createShardHelper
protected IShardHelper createShardHelper ()
创建要使用的 IShardHelper
的返回值。
返回 | |
---|---|
IShardHelper |
customDevicePreInvocation
protected void customizeDevicePreInvocation (IConfiguration config, IInvocationContext context)
有机会在 preInvocationSetup 之前自定义某些设备。
参数 | |
---|---|
config |
IConfiguration :调用的配置。 |
context |
IInvocationContext :当前调用上下文。 |
getAdbVersion
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 |
返回 | |
---|---|
|
linkExternalDirs
protected void linkExternalDirs (IBuildInfo info, TestInformation testInfo)
参数 | |
---|---|
info |
IBuildInfo |
testInfo |
TestInformation |
logHostAdb
protected void logHostAdb (IConfiguration config, ITestLogger logger)
从 $TMPDIR/adb.$UID.log 收集日志。
参数 | |
---|---|
config |
IConfiguration |
logger |
ITestLogger |
runPreparersTearDown
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 |
setTestTag
protected void setTestTag (IBuildInfo info, IConfiguration config)
处理在 build 信息上设置测试标记的操作。
参数 | |
---|---|
info |
IBuildInfo |
config |
IConfiguration |