BaseHostJUnit4Test
public
abstract
class
BaseHostJUnit4Test
extends Object
implements
IAbiReceiver,
ITestInformationReceiver
java.lang.Object 中 | |
↳ | com.android.tradefed.testtype.junit4.BaseHostJUnit4Test |
用于运行主机 JUnit4 式测试的基本测试类。此类支持安装、运行 并从主机端清理插桩测试。此类与多设备兼容。 应该是从主机端运行插桩测试的唯一可信来源,以便 避免重复的实用程序和基类。
摘要
公共构造函数 | |
---|---|
BaseHostJUnit4Test()
|
公共方法 | |
---|---|
final
void
|
autoTearDown()
自动拆解已安装的所有 APK。 |
final
IAbi
|
getAbi()
|
final
IBuildInfo
|
getBuild()
|
final
ITestDevice
|
getDevice()
|
final
IInvocationContext
|
getInvocationContext()
|
final
TestRunResult
|
getLastDeviceRunResults()
返回通过最近运行的 runDeviceTests 生成的 |
final
|
getListDevices()
|
TestInformation
|
getTestInformation()
|
boolean
|
hasDeviceFeature(String feature)
|
final
void
|
installPackage(DeviceTestRunOptions options)
在设备上安装基于 |
final
void
|
installPackage(String apkFileName, String... options)
在设备上安装具有指定名称的 APK。 |
final
void
|
installPackage(ITestDevice device, String apkFileName, String... options)
在指定设备上安装给定名称的 APK。 |
final
void
|
installPackageAsUser(ITestDevice device, String apkFileName, boolean grantPermission, int userId, String... options)
在指定设备上为特定用户安装指定名称的 APK。 |
final
void
|
installPackageAsUser(String apkFileName, boolean grantPermission, int userId, String... options)
为特定用户安装指定名称的 APK。 |
final
boolean
|
isPackageInstalled(String pkg)
检查设备上是否安装了给定名称的软件包 |
final
boolean
|
isPackageInstalled(ITestDevice device, String pkg)
检查设备上是否安装了给定名称的软件包 |
final
boolean
|
runDeviceTests(ITestDevice device, String pkgName, String testClassName, String testMethodName, Integer userId, Long testTimeoutMs)
用于运行已安装的插桩软件包的方法。 |
final
boolean
|
runDeviceTests(ITestDevice device, String pkgName, String testClassName, String testMethodName, Long testTimeoutMs, Long maxTimeToOutputMs, Long maxInstrumentationTimeoutMs)
用于运行已安装的插桩软件包的方法。 |
final
boolean
|
runDeviceTests(ITestDevice device, String runner, String pkgName, String testClassName, String testMethodName, Integer userId, Long testTimeoutMs, Long maxTimeToOutputMs, Long maxInstrumentationTimeoutMs, boolean checkResults, boolean isHiddenApiCheckDisabled, boolean isTestApiCheckDisabled, boolean isIsolatedStorageDisabled, boolean isWindowAnimationDisabled,
用于运行已安装的插桩软件包的方法。 |
final
boolean
|
runDeviceTests(ITestDevice device, String pkgName, String testClassName, String testMethodName, Long testTimeoutMs)
用于运行已安装的插桩软件包的方法。 |
final
boolean
|
runDeviceTests(ITestDevice device, String runner, String pkgName, String testClassName, String testMethodName, Integer userId, Long testTimeoutMs, Long maxTimeToOutputMs, Long maxInstrumentationTimeoutMs, boolean checkResults, boolean isHiddenApiCheckDisabled,
用于运行已安装的插桩软件包的方法。 |
final
boolean
|
runDeviceTests(String pkgName, String testClassName, String testMethodName)
用于运行已安装的插桩软件包的方法。 |
final
boolean
|
runDeviceTests(DeviceTestRunOptions options)
根据 |
final
boolean
|
runDeviceTests(ITestDevice device, String runner, String pkgName, String testClassName, String testMethodName, Integer userId, Long testTimeoutMs, Long maxTimeToOutputMs, Long maxInstrumentationTimeoutMs, boolean checkResults, boolean isHiddenApiCheckDisabled, boolean isTestApiCheckDisabled, boolean isIsolatedStorageDisabled, boolean isWindowAnimationDisabled, boolean isRestartDisabled,
用于运行已安装的插桩软件包的方法。 |
final
boolean
|
runDeviceTests(ITestDevice device, String pkgName, String testClassName, String testMethodName)
用于运行已安装的插桩软件包的方法。 |
final
boolean
|
runDeviceTests(String pkgName, String testClassName, Integer userId, Long testTimeoutMs)
用于运行已安装的插桩软件包的方法。 |
final
boolean
|
runDeviceTests(String pkgName, String testClassName)
用于运行已安装的插桩软件包的方法。 |
final
boolean
|
runDeviceTests(String pkgName, String testClassName, Long testTimeoutMs)
用于运行已安装的插桩软件包的方法。 |
final
boolean
|
runDeviceTests(ITestDevice device, String runner, String pkgName, String testClassName, String testMethodName, Integer userId, Long testTimeoutMs, Long maxTimeToOutputMs, Long maxInstrumentationTimeoutMs, boolean checkResults, boolean isHiddenApiCheckDisabled, boolean isTestApiCheckDisabled, boolean isIsolatedStorageDisabled,
用于运行已安装的插桩软件包的方法。 |
final
boolean
|
runDeviceTests(String runner, String pkgName, String testClassName, String testMethodName)
用于运行已安装的插桩软件包的方法。 |
final
void
|
setAbi(IAbi abi)
|
final
void
|
setTestInformation(TestInformation testInformation)
|
final
String
|
uninstallPackage(String pkgName)
卸载设备上的软件包。 |
final
String
|
uninstallPackage(ITestDevice device, String pkgName)
卸载设备上的软件包 |
公共构造函数
BaseHostJUnit4Test
public BaseHostJUnit4Test ()
公共方法
autoTearDown
public final void autoTearDown ()
自动拆解已安装的所有 APK。此操作会从 安装了它们的设备。
抛出 | |
---|---|
DeviceNotAvailableException |
getLastDeviceRunResults
public final TestRunResult getLastDeviceRunResults ()
返回通过最近运行的 runDeviceTest 生成的 TestRunResult
。或 null
如果没有可用的结果。
返回 | |
---|---|
TestRunResult |
getListDevices
public finalgetListDevices ()
返回 | |
---|---|
|
hasDeviceFeature
public boolean hasDeviceFeature (String feature)
参数 | |
---|---|
feature |
String |
返回 | |
---|---|
boolean |
抛出 | |
---|---|
DeviceNotAvailableException |
installPackage
public final void installPackage (DeviceTestRunOptions options)
在设备上安装基于 DeviceTestRunOptions
的 APK。APK 将
自动清理
参数 | |
---|---|
options |
DeviceTestRunOptions :软件包安装的选项。 |
抛出 | |
---|---|
DeviceNotAvailableException |
|
TargetSetupError |
installPackage
public final void installPackage (String apkFileName, String... options)
在设备上安装具有指定名称的 APK。系统会自动清理 APK。
参数 | |
---|---|
apkFileName |
String :APK 文件的名称。 |
options |
String :为 install 命令提供的额外选项 |
抛出 | |
---|---|
DeviceNotAvailableException |
|
TargetSetupError |
installPackage
public final void installPackage (ITestDevice device, String apkFileName, String... options)
在指定设备上安装给定名称的 APK。系统会自动清理 APK。
参数 | |
---|---|
device |
ITestDevice :要在其中安装 apk 的 ITestDevice 。 |
apkFileName |
String :APK 文件的名称。 |
options |
String :为 install 命令提供的额外选项 |
抛出 | |
---|---|
DeviceNotAvailableException |
|
TargetSetupError |
installPackageAsUser
public final void installPackageAsUser (ITestDevice device, String apkFileName, boolean grantPermission, int userId, String... options)
在指定设备上为特定用户安装指定名称的 APK。
参数 | |
---|---|
device |
ITestDevice :要在其中安装 apk 的 ITestDevice 。 |
apkFileName |
String :APK 文件的名称。 |
grantPermission |
boolean :是否在安装 apk 时传递授予权限标志。 |
userId |
int :安装 APK 的用户的用户 ID。 |
options |
String :为 install 命令提供的额外选项 |
抛出 | |
---|---|
DeviceNotAvailableException |
|
TargetSetupError |
installPackageAsUser
public final void installPackageAsUser (String apkFileName, boolean grantPermission, int userId, String... options)
为特定用户安装指定名称的 APK。
参数 | |
---|---|
apkFileName |
String :APK 文件的名称。 |
grantPermission |
boolean :是否在安装 apk 时传递授予权限标志。 |
userId |
int :安装 APK 的用户的用户 ID。 |
options |
String :为 install 命令提供的额外选项 |
抛出 | |
---|---|
DeviceNotAvailableException |
|
TargetSetupError |
isPackageInstall
public final boolean isPackageInstalled (String pkg)
检查设备上是否安装了给定名称的软件包
参数 | |
---|---|
pkg |
String :软件包的名称 |
返回 | |
---|---|
boolean |
如果在设备上找到软件包,则为 true |
抛出 | |
---|---|
DeviceNotAvailableException |
isPackageInstall
public final boolean isPackageInstalled (ITestDevice device, String pkg)
检查设备上是否安装了给定名称的软件包
参数 | |
---|---|
device |
ITestDevice :应卸载软件包的设备。 |
pkg |
String :软件包的名称 |
返回 | |
---|---|
boolean |
如果在设备上找到软件包,则为 true |
抛出 | |
---|---|
DeviceNotAvailableException |
runDeviceTest
public final boolean runDeviceTests (ITestDevice device, String pkgName, String testClassName, String testMethodName, Integer userId, Long testTimeoutMs)
用于运行已安装的插桩软件包的方法。使用getLastDeviceRunResults()
即可获取结果的详细信息。
参数 | |
---|---|
device |
ITestDevice :要运行插桩的设备。 |
pkgName |
String :要运行的软件包的名称。 |
testClassName |
String :要运行的测试类的名称。 |
testMethodName |
String :要运行的类中测试方法的名称。 |
userId |
Integer :要运行测试的用户的 ID。可以为 null。 |
testTimeoutMs |
Long :要应用于每个测试用例的超时时间(以毫秒为单位)。 |
返回 | |
---|---|
boolean |
如果成功而不失败,则为 true。否则为 false。 |
抛出 | |
---|---|
DeviceNotAvailableException |
runDeviceTest
public final boolean runDeviceTests (ITestDevice device, String pkgName, String testClassName, String testMethodName, Long testTimeoutMs, Long maxTimeToOutputMs, Long maxInstrumentationTimeoutMs)
用于运行已安装的插桩软件包的方法。使用getLastDeviceRunResults()
即可获取结果的详细信息。
参数 | |
---|---|
device |
ITestDevice :要运行插桩的设备。 |
pkgName |
String :要运行的软件包的名称。 |
testClassName |
String :要运行的测试类的名称。 |
testMethodName |
String :要运行的类中测试方法的名称。 |
testTimeoutMs |
Long :要应用于每个测试用例的超时时间(以毫秒为单位)。 |
maxTimeToOutputMs |
Long :测试开始输出内容时必须达到的超时上限。 |
maxInstrumentationTimeoutMs |
Long :完整插桩必须完成的超时上限。 |
返回 | |
---|---|
boolean |
如果成功而不失败,则为 true。否则为 false。 |
抛出 | |
---|---|
DeviceNotAvailableException |
runDeviceTest
public final boolean runDeviceTests (ITestDevice device, String runner, String pkgName, String testClassName, String testMethodName, Integer userId, Long testTimeoutMs, Long maxTimeToOutputMs, Long maxInstrumentationTimeoutMs, boolean checkResults, boolean isHiddenApiCheckDisabled, boolean isTestApiCheckDisabled, boolean isIsolatedStorageDisabled, boolean isWindowAnimationDisabled,instrumentationArgs, extraListeners)
用于运行已安装的插桩软件包的方法。使用getLastDeviceRunResults()
即可获取结果的详细信息。
参数 | |
---|---|
device |
ITestDevice :要运行插桩的设备。 |
runner |
String |
pkgName |
String :要运行的软件包的名称。 |
testClassName |
String :要运行的测试类的名称。 |
testMethodName |
String :要运行的类中测试方法的名称。 |
userId |
Integer :要运行测试的用户的 ID。可以为 null。 |
testTimeoutMs |
Long :要应用于每个测试用例的超时时间(以毫秒为单位)。 |
maxTimeToOutputMs |
Long :测试开始输出内容时必须达到的超时上限。 |
maxInstrumentationTimeoutMs |
Long :完整插桩必须完成的超时上限。 |
checkResults |
boolean :是否检查结果是否存在崩溃。 |
isHiddenApiCheckDisabled |
boolean :我们是否应停用隐藏的 API 检查。 |
isTestApiCheckDisabled |
boolean :我们是否应停用测试 API 检查。 |
isIsolatedStorageDisabled |
boolean :我们是否应停用隔离存储。 |
isWindowAnimationDisabled |
boolean :我们是否应停用窗口动画。 |
instrumentationArgs |
:要传递给插桩的参数。 |
extraListeners |
|
返回 | |
---|---|
boolean |
如果成功且未失败,则为 true。否则为 false。 |
抛出 | |
---|---|
DeviceNotAvailableException |
runDeviceTest
public final boolean runDeviceTests (ITestDevice device, String pkgName, String testClassName, String testMethodName, Long testTimeoutMs)
用于运行已安装的插桩软件包的方法。使用getLastDeviceRunResults()
即可获取结果的详细信息。
参数 | |
---|---|
device |
ITestDevice :要运行插桩的设备。 |
pkgName |
String :要运行的软件包的名称。 |
testClassName |
String :要运行的测试类的名称。 |
testMethodName |
String :要运行的类中测试方法的名称。 |
testTimeoutMs |
Long :要应用于每个测试用例的超时时间(以毫秒为单位)。 |
返回 | |
---|---|
boolean |
如果成功而不失败,则为 true。否则为 false。 |
抛出 | |
---|---|
DeviceNotAvailableException |
runDeviceTest
public final boolean runDeviceTests (ITestDevice device, String runner, String pkgName, String testClassName, String testMethodName, Integer userId, Long testTimeoutMs, Long maxTimeToOutputMs, Long maxInstrumentationTimeoutMs, boolean checkResults, boolean isHiddenApiCheckDisabled,instrumentationArgs)
用于运行已安装的插桩软件包的方法。使用getLastDeviceRunResults()
即可获取结果的详细信息。
参数 | |
---|---|
device |
ITestDevice :要运行插桩的设备。 |
runner |
String |
pkgName |
String :要运行的软件包的名称。 |
testClassName |
String :要运行的测试类的名称。 |
testMethodName |
String :要运行的类中测试方法的名称。 |
userId |
Integer :要运行测试的用户的 ID。可以为 null。 |
testTimeoutMs |
Long :要应用于每个测试用例的超时时间(以毫秒为单位)。 |
maxTimeToOutputMs |
Long :测试开始输出内容时必须达到的超时上限。 |
maxInstrumentationTimeoutMs |
Long :完整插桩必须完成的超时上限。 |
checkResults |
boolean :是否检查结果是否存在崩溃。 |
isHiddenApiCheckDisabled |
boolean :我们是否应停用隐藏的 API 检查。 |
instrumentationArgs |
:要传递给插桩的参数。 |
返回 | |
---|---|
boolean |
如果成功且未失败,则为 true。否则为 false。 |
抛出 | |
---|---|
DeviceNotAvailableException |
runDeviceTest
public final boolean runDeviceTests (String pkgName, String testClassName, String testMethodName)
用于运行已安装的插桩软件包的方法。使用getLastDeviceRunResults()
即可获取结果的详细信息。
参数 | |
---|---|
pkgName |
String :要运行的软件包的名称。 |
testClassName |
String :要运行的测试类的名称。 |
testMethodName |
String :要运行的类中测试方法的名称。 |
返回 | |
---|---|
boolean |
如果成功而不失败,则为 true。否则为 false。 |
抛出 | |
---|---|
DeviceNotAvailableException |
runDeviceTest
public final boolean runDeviceTests (DeviceTestRunOptions options)
根据 DeviceTestRunOptions
中的信息运行插桩测试。
参数 | |
---|---|
options |
DeviceTestRunOptions :驱动插桩设置的 DeviceTestRunOptions 。 |
返回 | |
---|---|
boolean |
如果成功且未失败,则为 true。否则为 false。 |
抛出 | |
---|---|
|
com.android.tradefed.device.DeviceNotAvailableException |
DeviceNotAvailableException |
runDeviceTest
public final boolean runDeviceTests (ITestDevice device, String runner, String pkgName, String testClassName, String testMethodName, Integer userId, Long testTimeoutMs, Long maxTimeToOutputMs, Long maxInstrumentationTimeoutMs, boolean checkResults, boolean isHiddenApiCheckDisabled, boolean isTestApiCheckDisabled, boolean isIsolatedStorageDisabled, boolean isWindowAnimationDisabled, boolean isRestartDisabled,instrumentationArgs, extraListeners)
用于运行已安装的插桩软件包的方法。使用getLastDeviceRunResults()
即可获取结果的详细信息。
参数 | |
---|---|
device |
ITestDevice :要运行插桩的设备。 |
runner |
String |
pkgName |
String :要运行的软件包的名称。 |
testClassName |
String :要运行的测试类的名称。 |
testMethodName |
String :要运行的类中测试方法的名称。 |
userId |
Integer :要运行测试的用户的 ID。可以为 null。 |
testTimeoutMs |
Long :要应用于每个测试用例的超时时间(以毫秒为单位)。 |
maxTimeToOutputMs |
Long :测试开始输出内容时必须达到的超时上限。 |
maxInstrumentationTimeoutMs |
Long :完整插桩必须完成的超时上限。 |
checkResults |
boolean :是否检查结果是否存在崩溃。 |
isHiddenApiCheckDisabled |
boolean :我们是否应停用隐藏的 API 检查。 |
isTestApiCheckDisabled |
boolean :我们是否应停用测试 API 检查。 |
isIsolatedStorageDisabled |
boolean :我们是否应停用隔离存储。 |
isWindowAnimationDisabled |
boolean :我们是否应停用窗口动画。 |
isRestartDisabled |
boolean |
instrumentationArgs |
:要传递给插桩的参数。 |
extraListeners |
|
返回 | |
---|---|
boolean |
如果成功且未失败,则为 true。否则为 false。 |
抛出 | |
---|---|
DeviceNotAvailableException |
runDeviceTest
public final boolean runDeviceTests (ITestDevice device, String pkgName, String testClassName, String testMethodName)
用于运行已安装的插桩软件包的方法。使用getLastDeviceRunResults()
即可获取结果的详细信息。
参数 | |
---|---|
device |
ITestDevice :要运行插桩的设备。 |
pkgName |
String :要运行的软件包的名称。 |
testClassName |
String :要运行的测试类的名称。 |
testMethodName |
String :要运行的类中测试方法的名称。 |
返回 | |
---|---|
boolean |
如果成功而不失败,则为 true。否则为 false。 |
抛出 | |
---|---|
DeviceNotAvailableException |
runDeviceTest
public final boolean runDeviceTests (String pkgName, String testClassName, Integer userId, Long testTimeoutMs)
用于运行已安装的插桩软件包的方法。使用getLastDeviceRunResults()
即可获取结果的详细信息。
参数 | |
---|---|
pkgName |
String :要运行的软件包的名称。 |
testClassName |
String :要运行的测试类的名称。 |
userId |
Integer :要运行测试的用户的 ID。可以为 null。 |
testTimeoutMs |
Long :要应用于每个测试用例的超时时间(以毫秒为单位)。 |
返回 | |
---|---|
boolean |
如果成功而不失败,则为 true。否则为 false。 |
抛出 | |
---|---|
DeviceNotAvailableException |
runDeviceTest
public final boolean runDeviceTests (String pkgName, String testClassName)
用于运行已安装的插桩软件包的方法。使用getLastDeviceRunResults()
即可获取结果的详细信息。
参数 | |
---|---|
pkgName |
String :要运行的软件包的名称。 |
testClassName |
String :要运行的测试类的名称。 |
返回 | |
---|---|
boolean |
如果成功而不失败,则为 true。否则为 false。 |
抛出 | |
---|---|
DeviceNotAvailableException |
runDeviceTest
public final boolean runDeviceTests (String pkgName, String testClassName, Long testTimeoutMs)
用于运行已安装的插桩软件包的方法。使用getLastDeviceRunResults()
即可获取结果的详细信息。
参数 | |
---|---|
pkgName |
String :要运行的软件包的名称。 |
testClassName |
String :要运行的测试类的名称。 |
testTimeoutMs |
Long :要应用于每个测试用例的超时时间(以毫秒为单位)。 |
返回 | |
---|---|
boolean |
如果成功而不失败,则为 true。否则为 false。 |
抛出 | |
---|---|
DeviceNotAvailableException |
runDeviceTest
public final boolean runDeviceTests (ITestDevice device, String runner, String pkgName, String testClassName, String testMethodName, Integer userId, Long testTimeoutMs, Long maxTimeToOutputMs, Long maxInstrumentationTimeoutMs, boolean checkResults, boolean isHiddenApiCheckDisabled, boolean isTestApiCheckDisabled, boolean isIsolatedStorageDisabled,instrumentationArgs, extraListeners)
用于运行已安装的插桩软件包的方法。使用getLastDeviceRunResults()
即可获取结果的详细信息。
参数 | |
---|---|
device |
ITestDevice :要运行插桩的设备。 |
runner |
String |
pkgName |
String :要运行的软件包的名称。 |
testClassName |
String :要运行的测试类的名称。 |
testMethodName |
String :要运行的类中测试方法的名称。 |
userId |
Integer :要运行测试的用户的 ID。可以为 null。 |
testTimeoutMs |
Long :要应用于每个测试用例的超时时间(以毫秒为单位)。 |
maxTimeToOutputMs |
Long :测试开始输出内容时必须达到的超时上限。 |
maxInstrumentationTimeoutMs |
Long :完整插桩必须完成的超时上限。 |
checkResults |
boolean :是否检查结果是否存在崩溃。 |
isHiddenApiCheckDisabled |
boolean :我们是否应停用隐藏的 API 检查。 |
isTestApiCheckDisabled |
boolean :我们是否应停用测试 API 检查。 |
isIsolatedStorageDisabled |
boolean :我们是否应停用隔离存储。 |
instrumentationArgs |
:要传递给插桩的参数。 |
extraListeners |
|
返回 | |
---|---|
boolean |
如果成功且未失败,则为 true。否则为 false。 |
抛出 | |
---|---|
DeviceNotAvailableException |
runDeviceTest
public final boolean runDeviceTests (String runner, String pkgName, String testClassName, String testMethodName)
用于运行已安装的插桩软件包的方法。使用getLastDeviceRunResults()
即可获取结果的详细信息。
参数 | |
---|---|
runner |
String :要使用的插桩运行程序。 |
pkgName |
String :要运行的软件包的名称。 |
testClassName |
String :要运行的测试类的名称。 |
testMethodName |
String :要运行的类中测试方法的名称。 |
返回 | |
---|---|
boolean |
如果成功而不失败,则为 true。否则为 false。 |
抛出 | |
---|---|
DeviceNotAvailableException |
setTestInformation
public final void setTestInformation (TestInformation testInformation)
参数 | |
---|---|
testInformation |
TestInformation |
removePackage
public final String uninstallPackage (String pkgName)
卸载设备上的软件包。
参数 | |
---|---|
pkgName |
String :要卸载的 Android 软件包 |
返回 | |
---|---|
String |
包含错误代码的 String ,如果成功,则返回 null |
抛出 | |
---|---|
DeviceNotAvailableException |
removePackage
public final String uninstallPackage (ITestDevice device, String pkgName)
卸载设备上的软件包
参数 | |
---|---|
device |
ITestDevice :应卸载软件包的设备。 |
pkgName |
String :要卸载的 Android 软件包 |
返回 | |
---|---|
String |
包含错误代码的 String ,如果成功,则返回 null |
抛出 | |
---|---|
DeviceNotAvailableException |