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 生成的 TestRunResult

final getListDevices()
TestInformation getTestInformation()
boolean hasDeviceFeature(String feature)
final void installPackage(DeviceTestRunOptions options)

在设备上安装基于 DeviceTestRunOptions 的 APK。

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, instrumentationArgs, extraListeners)

用于运行已安装的插桩软件包的方法。

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

用于运行已安装的插桩软件包的方法。

final boolean runDeviceTests(String pkgName, String testClassName, String testMethodName)

用于运行已安装的插桩软件包的方法。

final boolean runDeviceTests(DeviceTestRunOptions options)

根据 DeviceTestRunOptions 中的信息运行插桩测试。

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)

用于运行已安装的插桩软件包的方法。

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, instrumentationArgs, extraListeners)

用于运行已安装的插桩软件包的方法。

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

getAbi

public final IAbi getAbi ()

返回
IAbi

getBuild

public final IBuildInfo getBuild ()

返回
IBuildInfo

getDevice

public final ITestDevice getDevice ()

返回
ITestDevice

getInvocationContext

public final IInvocationContext getInvocationContext ()

返回
IInvocationContext

getLastDeviceRunResults

public final TestRunResult getLastDeviceRunResults ()

返回通过最近运行的 runDeviceTest 生成的 TestRunResult。或 null 如果没有可用的结果。

返回
TestRunResult

getListDevices

public final  getListDevices ()

返回

获取测试信息

public TestInformation getTestInformation ()

返回
TestInformation

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

SetAbi

public final void setAbi (IAbi abi)

参数
abi IAbi

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