InstrumentationTest
public
class
InstrumentationTest
extends Object
implements
IAbiReceiver,
IConfigurationReceiver,
IDeviceTest,
IMetricCollectorReceiver,
IRemoteTest,
ITestCollector
| java.lang.Object | |
| ↳ | com.android.tradefed.testtype.InstrumentationTest |
在给定设备上运行插桩测试软件包的测试。
摘要
常量 | |
|---|---|
String |
RUN_TESTS_AS_USER_KEY
|
String |
RUN_TESTS_ON_SDK_SANDBOX
|
字段 | |
|---|---|
protected
boolean |
mDebug
|
protected
boolean |
mInstrumentSdkInSandbox
|
protected
boolean |
mInstrumentSdkSandbox
|
公共构造函数 | |
|---|---|
InstrumentationTest()
|
|
公共方法 | |
|---|---|
void
|
addDeviceListeners(
允许向 runner 添加更多自定义监听器 |
void
|
addInstrumentationArg(String key, String value)
添加一个在运行插桩测试时提供的实参。 |
IAbi
|
getAbi()
|
IConfiguration
|
getConfiguration()
获取相应测试的 |
String
|
getCoverageTarget()
获取之前通过 |
boolean
|
getDebug()
获取插桩调试设置。 |
ITestDevice
|
getDevice()
获取被测设备。 |
String
|
getForceAbi()
|
long
|
getMaxTimeout()
返回为插桩设置的最大超时时间。 |
String
|
getPackageName()
获取要运行的 Android 清单软件包。 |
String
|
getRunName()
获取将提供给监听器的自定义测试运行名称 |
String
|
getRunnerName()
获取要使用的 Android 插桩测试运行程序。 |
boolean
|
isOrchestrator()
|
void
|
run(TestInformation testInfo, ITestInvocationListener listener)
运行测试,并将结果报告给监听器。 |
void
|
setAbi(IAbi abi)
|
void
|
setClassName(String testClassName)
(可选)设置要运行的测试类名称。 |
void
|
setCollectTestsOnly(boolean shouldCollectTest)
启用或停用测试收集模式 |
void
|
setCollectsTestsShellTimeout(int timeout)
此方法已弃用。 此方法为 no-op |
void
|
setConfiguration(IConfiguration config)
注入正在使用的 |
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(
设置为测试运行定义的 |
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(
设置应由相应 InstrumentationTest 执行的测试集合。 |
void
|
setWindowAnimation(boolean windowAnimation)
|
受保护的方法 | |
|---|---|
static
|
excludeNonExecuted(TestRunResult results)
过滤掉“NOT_EXECUTED”和“Skipped”,以便跟踪需要重新运行的内容。 |
String
|
getClassName()
获取要运行的类名称。 |
ListInstrumentationParser
|
getListInstrumentationParser()
获取用于解析“pm list instrumentation”查询的 |
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_AS_USER"
RUN_TESTS_ON_SDK_SANDBOX
public static final String RUN_TESTS_ON_SDK_SANDBOX
常量值: "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)
允许向 runner 添加更多自定义监听器
| 参数 | |
|---|---|
extraListeners |
|
addInstrumentationArg
public void addInstrumentationArg (String key,
String value)添加了一个在运行插桩测试时提供的实参。
| 参数 | |
|---|---|
key |
String:实参名称 |
value |
String:实参值 |
getConfiguration
public IConfiguration getConfiguration ()
获取相应测试的 IConfiguration。
| 返回 | |
|---|---|
IConfiguration |
|
getCoverageTarget
public String getCoverageTarget ()
获取之前通过 setCoverageTarget(String) 设置的 coverageTarget。
| 返回 | |
|---|---|
String |
|
getDebug
public boolean getDebug ()
获取插桩调试设置。
| 返回 | |
|---|---|
boolean |
布尔值调试设置。 |
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 |
|
isOrchestrator
public boolean isOrchestrator ()
| 返回 | |
|---|---|
boolean |
|
得分
public void run (TestInformation testInfo, ITestInvocationListener listener)
运行测试,并将结果报告给监听器。
| 参数 | |
|---|---|
testInfo |
TestInformation:包含用于运行测试的实用信息的 TestInformation 对象。 |
listener |
ITestInvocationListener:测试结果的 ITestInvocationListener |
| 抛出 | |
|---|---|
DeviceNotAvailableException |
|
setClassName
public void setClassName (String testClassName)
(可选)设置要运行的测试类名称。
| 参数 | |
|---|---|
testClassName |
String |
setCollectTestsOnly
public void setCollectTestsOnly (boolean shouldCollectTest)
启用或停用测试收集模式
setCollectsTestsShellTimeout
public void setCollectsTestsShellTimeout (int timeout)
此方法已弃用。
此方法为 no-op
设置收集测试时允许的“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:用于设置插桩调试设置的布尔值。 |
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 staticexcludeNonExecuted (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 |