叫用執行
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 清理步驟。 |
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)
|
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)
嘗試將設定分割成子設定,以便重新排定執行時間 來平行處理多項資源 |
公用方法
CleanUpBuilds
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 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 |
Teardown
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 :測試執行時擲回的原始例外狀況。 |
擲回 | |
---|---|
|
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 :目前叫用的階段。 |
runDevicePostInvocationTearDown
public void runDevicePostInvocationTearDown (IInvocationContext context, IConfiguration config, Throwable exception)
針對ITestDevice#postInvocationTearDown(Throwable)
呼叫。
參數 | |
---|---|
context |
IInvocationContext :叫用的 IInvocationContext 。 |
config |
IConfiguration :這項測試執行的 IConfiguration 。 |
exception |
Throwable :測試執行時擲回的原始例外狀況 (如果有的話)。 |
runDevicePreInvocation 設定
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 |
擲回 | |
---|---|
|
Throwable |
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 |