叫用執行

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)

針對ITestDevice#postInvocationTearDown(Throwable) 呼叫。

void runDevicePreInvocationSetup(IInvocationContext context, IConfiguration config, ITestLogger logger)

針對ERROR(ITestDevice#preInvocationSetup(IBuildInfo)/com.android.tradefed.device.ITestDevice#preInvocationSetup(com.android.tradefed.build.IBuildInfo) ITestDevice#preInvocationSetup(IBuildInfo)) 呼叫。

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()

建立要使用的傳回 IShardHelper

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, 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 ()

公用方法

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 IReschedulerIRescheduler,用於重新排程叫用的部分 對另一個資源執行

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)

針對ERROR(ITestDevice#preInvocationSetup(IBuildInfo)/com.android.tradefed.device.ITestDevice#preInvocationSetup(com.android.tradefed.build.IBuildInfo) ITestDevice#preInvocationSetup(IBuildInfo)) 呼叫。

參數
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 IReschedulerIRescheduler

logger ITestLoggerITestLogger,用來在資料分割期間記錄檔案。

傳回
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

protected  getLabPreparersToRun (IConfiguration config, 
                String deviceName)

擷取要在這部裝置上執行的研究室準備工具清單。

覆寫沙箱類別,限制研究室準備工具在沙箱中執行 孩子

參數
config IConfiguration

deviceName String

傳回

getTargetPreparersToRun

protected  getTargetPreparersToRun (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