叫用執行
public
class
InvocationExecution
extends Object
implements
IInvocationExecution
java.lang.Object | |
↳ | com.android.tradefed.invoker.InvocationExecution |
描述所有叫用步驟的類別:建構下載、 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 setUp 步驟。 |
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)
在 PreInvocation Setup 之前,給您一點時間自訂部分裝置的機會。 |
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)
處理建構資訊上的測試標記設定。 |
欄位
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 ()
公用方法
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 listener)
執行 target_preparer 和 multi_target_preparer setUp 步驟。所有裝置是否設定完畢? 執行測試所需的環境
參數 | |
---|---|
testInfo |
TestInformation :叫用的 TestInformation 。 |
config |
IConfiguration :這項測試執行的 IConfiguration 。 |
listener |
ITestLogger :回報設定失敗記錄的 ITestLogger 。 |
擲回 | |
---|---|
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 :測試執行時擲回的原始例外狀況。 |
擷取版本
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 :目前叫用的階段。 |
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 。 |
擲回 | |
---|---|
DeviceNotAvailableException |
|
TargetSetupError |
執行測試
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 |
保護方法
collectionAutoInfo
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)
在 PreInvocation Setup 之前,給您一點時間自訂部分裝置的機會。
參數 | |
---|---|
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)
處理建構資訊上的測試標記設定。
參數 | |
---|---|
info |
IBuildInfo |
config |
IConfiguration |