呼叫執行
public interface IInvocationExecution
com.android.tradefed.invoker.IInitationExecution |
描述將作為呼叫的一部分完成的操作的介面。呼叫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 設定步驟。 |
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) 為呼叫的每個裝置部分呼叫 |
default void | runDevicePreInvocationSetup ( IInvocationContext context, IConfiguration config, ITestLogger logger) |
default void | runTests ( TestInformation info, IConfiguration config, ITestInvocationListener listener) 運行測試。 |
default boolean | shardConfig ( IConfiguration config, TestInformation testInfo, IRescheduler rescheduler, ITestLogger logger) 嘗試將配置分割為子配置,以便重新安排在多個資源上並行運行。 |
公共方法
清理構建
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 logger)
執行 target_preparer 和 multi_target_preparer 設定步驟。是否設定了運行測試所需的所有設備。
參數 | |
---|---|
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 |
拆解
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。 |
投擲 | |
---|---|
| com.android.tradefed.build.BuildRetrievalError |
| com.android.tradefed.device.DeviceNotAvailableException |
BuildRetrievalError | |
DeviceNotAvailableException |
報告日誌
public abstract void reportLogs (ITestDevice device, ITestLogger logger, TestInvocation.Stage stage)
報告調用不同階段的一些設備日誌。例如:logcat。
參數 | |
---|---|
device | ITestDevice :報告日誌的設備。 |
logger | 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 。 |
投擲 | |
---|---|
| com.android.tradefed.device.DeviceNotAvailableException |
| com.android.tradefed.targetprep.TargetSetupError |
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 |