InstrumentationTest

public class InstrumentationTest
extends Object implements IAbiReceiver, IConfigurationReceiver, IDeviceTest, IMetricCollectorReceiver, IRemoteTest, ITestCollector

java.lang.Object
   ↳ com.android.tradefed.testtype.InstrumentationTest


在给定设备上运行插桩测试软件包的测试。

摘要

字段

public static final String RUN_TESTS_AS_USER_KEY

public static final String RUN_TESTS_ON_SDK_SANDBOX

protected boolean mDebug

protected boolean mInstrumentSdkInSandbox

protected boolean mInstrumentSdkSandbox

公共构造函数

InstrumentationTest()

公共方法

void addDeviceListeners( extraListeners)

允许向运行程序添加更多自定义监听器

void addInstrumentationArg(String key, String value)

添加了在运行插桩测试时提供的参数。

IAbi getAbi()
IConfiguration getConfiguration()

获取此测试的 IConfiguration

String getCoverageTarget()

获取之前通过 setCoverageTarget(String) 设置的 coverageTarget。

boolean getDebug()

获取插桩调试设置。

ITestDevice getDevice()

获取被测设备。

String getForceAbi()
long getMaxTimeout()

返回为插桩设置的超时上限。

String getPackageName()

获取要运行的 Android 清单软件包。

String getRunName()

获取将提供给监听器的自定义测试运行名称

String getRunnerName()

获取要使用的 Android 插桩测试运行程序。

boolean isOrchestrator()

返回 ERROR(InstrumentationTest.mOrchestrator/com.android.tradefed.testtype.InstrumentationTest#mOrchestrator InstrumentationTest.mOrchestrator) 的值

void run(TestInformation testInfo, ITestInvocationListener listener)

运行测试并向监听器报告结果。

void setAbi(IAbi abi)
void setClassName(String testClassName)

(可选)设置要运行的测试类名称。

void setCollectTestsOnly(boolean shouldCollectTest)

启用或停用测试集合模式

void setCollectsTestsShellTimeout(int timeout)

此方法已废弃。 此方法是无操作

void setConfiguration(IConfiguration config)

注入正在使用的 IConfiguration

void setCoverageTarget(String coverageTarget)

设置此测试的覆盖率目标。

void setDebug(boolean debug)

设置插桩调试设置。

void setDevice(ITestDevice device)

注入被测设备。

void setEnforceFormat(boolean enforce)

如果我们强制执行插桩的 AJUR 输出格式,请将其设置为 True。

void setForceAbi(String abi)

设置 force-abi 选项。

void setInstallFile(File installFile)

设置要安装的包含测试的可选文件。

void setIsolatedStorage(boolean isolatedStorage)

设置是否使用隔离存储空间。

void setMethodName(String testMethodName)

(可选)设置要运行的测试方法。

void setMetricCollectors( collectors)

设置为测试运行定义的 IMetricCollector 列表。

void setOrchestrator(boolean useOrchestrator)

设置 --orchestrator 选项

void setPackageName(String packageName)

设置要运行的 Android 清单软件包。

void setReRunUsingTestFile(boolean reRunUsingTestFile)

设置 --rerun-from-file 选项。

void setRerunMode(boolean rerun)

(可选)设置重新运行模式。

void setRunName(String runName)

设置将提供给监听器的自定义测试运行名称

void setRunnerName(String runnerName)

(可选)设置要使用的 Android 插桩测试运行程序。

void setShellTimeout(long timeout)

(可选)设置等待设备输出 shell 命令的最大时间(以毫秒为单位)。

void setTestFilePathOnDevice(String testFilePathOnDevice)

(可选)设置指向设备上文件的路径,该文件应包含要运行的以行分隔的测试类和方法(格式:com.foo.Class#method)列表。

void setTestPackageName(String testPackageName)

设置测试软件包过滤条件。

void setTestSize(String size)

(可选)设置要运行的测试大小。

void setTestTimeout(long timeout)

您可以选择为每项单独的测试运行设置最长时间(以毫秒为单位)。

void setTestsToRun( tests)

设置此 InstrumentationTest 应执行的测试集合。

void setWindowAnimation(boolean windowAnimation)

受保护的方法

static excludeNonExecuted(TestRunResult results)

过滤掉“NOT_EXECUTED”和“Skipped”,以跟踪需要重新运行的内容。

String getClassName()

获取要运行的类名称。

ListInstrumentationParser getListInstrumentationParser()

获取用于解析“pm list instrumentation”查询的 ListInstrumentationParser

String getMethodName()

获取要运行的测试方法。

String getTestPackageName()

获取要运行的测试 Java 软件包。

String queryRunnerName()

查询设备以供测试运行程序使用。

void setRunnerArgs(IRemoteAndroidTestRunner runner)

字段

RUN_TESTS_AS_USER_KEY

public static final String RUN_TESTS_AS_USER_KEY

RUN_TESTS_ON_SDK_SANDBOX

public static final String RUN_TESTS_ON_SDK_SANDBOX

mDebug

protected boolean mDebug

mInstrumentSdkInSandbox

protected boolean mInstrumentSdkInSandbox

mInstrumentSdkSandbox

protected boolean mInstrumentSdkSandbox

公共构造函数

InstrumentationTest

public InstrumentationTest ()

公共方法

addDeviceListeners

public void addDeviceListeners ( extraListeners)

允许向运行程序添加更多自定义监听器

参数
extraListeners

addInstrumentationArg

public void addInstrumentationArg (String key, 
                String value)

添加了在运行插桩测试时提供的参数。

参数
key String:参数名称

value String:参数值

getAbi

public IAbi getAbi ()

返回
IAbi

getConfiguration

public IConfiguration getConfiguration ()

获取此测试的 IConfiguration

返回
IConfiguration

getCoverageTarget

public String getCoverageTarget ()

获取之前通过 setCoverageTarget(String) 设置的 coverageTarget。

返回
String

getDebug

public boolean getDebug ()

获取插桩调试设置。

返回
boolean 布尔值调试设置。

getDevice

public ITestDevice getDevice ()

获取被测设备。

返回
ITestDevice ITestDevice

getForceAbi

public String getForceAbi ()

返回
String

getMaxTimeout

public long getMaxTimeout ()

返回为插桩设置的超时上限。

返回
long

getPackageName

public String getPackageName ()

获取要运行的 Android 清单软件包。

返回
String

getRunName

public String getRunName ()

获取将提供给监听器的自定义测试运行名称

返回
String

getRunnerName

public String getRunnerName ()

获取要使用的 Android 插桩测试运行程序。

返回
String

得分

public void run (TestInformation testInfo, 
                ITestInvocationListener listener)

运行测试并向监听器报告结果。

参数
testInfo TestInformation:包含运行测试的实用信息的 TestInformation 对象。

listener ITestInvocationListener:测试结果的 ITestInvocationListener

抛出
DeviceNotAvailableException

setAbi

public void setAbi (IAbi abi)

参数
abi IAbi

setClassName

public void setClassName (String testClassName)

(可选)设置要运行的测试类名称。

参数
testClassName String

setCollectTestsOnly

public void setCollectTestsOnly (boolean shouldCollectTest)

启用或停用测试集合模式

setCollectsTestsShellTimeout

public void setCollectsTestsShellTimeout (int timeout)

此方法已废弃。
此方法是无操作

设置以毫秒为单位的最大时间,以允许在收集测试时“shell 输出响应所需的最大时间”。

参数
timeout int

setConfiguration

public void setConfiguration (IConfiguration config)

注入正在使用的 IConfiguration

参数
config IConfiguration

setCoverageTarget

public void setCoverageTarget (String coverageTarget)

设置此测试的覆盖率目标。

目前未使用。此方法只是为了便于稍后通过 getCoverageTarget() 检索 coverageTarget

参数
coverageTarget String

setDebug

public void setDebug (boolean debug)

设置插桩调试设置。

参数
debug boolean:要将插桩调试设置设为的布尔值。

setDevice

public void setDevice (ITestDevice device)

注入被测设备。

参数
device ITestDevice:要使用的 ITestDevice

setEnforceFormat

public void setEnforceFormat (boolean enforce)

如果我们强制执行插桩的 AJUR 输出格式,请将其设置为 True。

参数
enforce boolean

setForceAbi

public void setForceAbi (String abi)

设置 force-abi 选项。

setInstallFile

public void setInstallFile (File installFile)

设置要安装的包含测试的可选文件。

参数
installFile File:可安装的 ERROR(/File)

setIsolatedStorage

public void setIsolatedStorage (boolean isolatedStorage)

设置是否使用隔离存储空间。

参数
isolatedStorage boolean

setMethodName

public void setMethodName (String testMethodName)

(可选)设置要运行的测试方法。

参数
testMethodName String

setMetricCollectors

public void setMetricCollectors ( collectors)

设置为测试运行定义的 IMetricCollector 列表。

参数
collectors

setOrchestrator

public void setOrchestrator (boolean useOrchestrator)

设置 --orchestrator 选项

参数
useOrchestrator boolean

setPackageName

public void setPackageName (String packageName)

设置要运行的 Android 清单软件包。

参数
packageName String

setReRunUsingTestFile

public void setReRunUsingTestFile (boolean reRunUsingTestFile)

设置 --rerun-from-file 选项。

参数
reRunUsingTestFile boolean

setRerunMode

public void setRerunMode (boolean rerun)

(可选)设置重新运行模式。

参数
rerun boolean

setRunName

public void setRunName (String runName)

设置将提供给监听器的自定义测试运行名称

参数
runName String

setRunnerName

public void setRunnerName (String runnerName)

(可选)设置要使用的 Android 插桩测试运行程序。

参数
runnerName String

setShellTimeout

public void setShellTimeout (long timeout)

(可选)设置等待设备输出 shell 命令的最大时间(以毫秒为单位)。

参数
timeout long

setTestFilePathOnDevice

public void setTestFilePathOnDevice (String testFilePathOnDevice)

(可选)设置指向设备上某个文件的路径,该文件应包含要运行的以行分隔的测试类和方法(格式:com.foo.Class#method)列表。如果设置,系统会自动尝试通过 InstrumentationFileTest 使用此测试文件重新运行测试,而不是通过重新运行为每个剩余测试执行单独的 adb 命令。

参数
testFilePathOnDevice String

setTestPackageName

public void setTestPackageName (String testPackageName)

设置测试软件包过滤条件。

如果不为 null,则仅会执行给定 Java 软件包中的测试。

如果已向 setClassName(String) 提供非 null 值,则会被忽略

参数
testPackageName String

setTestSize

public void setTestSize (String size)

(可选)设置要运行的测试大小。

参数
size String

setTestTimeout

public void setTestTimeout (long timeout)

您可以选择为每次单独的测试运行设置最长时间(以毫秒为单位)。

参数
timeout long

setTestsToRun

public void setTestsToRun ( tests)

设置此 InstrumentationTest 应执行的测试集合。

参数
tests :要运行的测试

setWindowAnimation

public void setWindowAnimation (boolean windowAnimation)

参数
windowAnimation boolean

受保护的方法

excludeNonExecuted

protected static  excludeNonExecuted (TestRunResult results)

过滤掉“NOT_EXECUTED”和“Skipped”,以便跟踪需要重新运行的内容。

参数
results TestRunResult

返回

getClassName

protected String getClassName ()

获取要运行的类名称。

返回
String

getListInstrumentationParser

protected ListInstrumentationParser getListInstrumentationParser ()

获取用于解析“pm list instrumentation”查询的 ListInstrumentationParser

返回
ListInstrumentationParser

getMethodName

protected String getMethodName ()

获取要运行的测试方法。

返回
String

getTestPackageName

protected String getTestPackageName ()

获取要运行的测试 Java 软件包。

返回
String

queryRunnerName

protected String queryRunnerName ()

查询设备以供测试运行程序使用。

返回
String 与软件包匹配的第一个测试运行器名称,如果找不到任何匹配项,则为 null。

抛出
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

setRunnerArgs

protected void setRunnerArgs (IRemoteAndroidTestRunner runner)

参数
runner IRemoteAndroidTestRunner