SecurityTestCase
public
class
SecurityTestCase
extends StsExtraBusinessLogicHostTestBase
java.lang.Object 中 | |||||
↳ | com.android.tradefed.testtype.junit4.BaseHostJUnit4Test | ||||
↳ | com.android.compatibility.common.tradefed.testtype.BusinessLogicHostTestBase | ||||
↳ | com.android.compatibility.common.tradefed.testtype.ExtraBusinessLogicHostTestBase | ||||
↳ | com.android.sts.common.tradefed.testtype.StsExtraBusinessLogicHostTestBase | ||||
↳ | com.android.sts.common.tradefed.testtype.SecurityTestCase |
所有 STS 测试的基础测试类。
请改为使用 RootSecurityTestCase
或 NonRootSecurityTestCase
。
摘要
常量 | |
---|---|
int |
TIMEOUT_DEFAULT
|
int |
TIMEOUT_NONDETERMINISTIC
|
字段 | |
---|---|
public
PocPusher |
pocPusher
|
public
TestName |
testName
|
公共构造函数 | |
---|---|
SecurityTestCase()
|
公共方法 | |
---|---|
void
|
assertMatches(String pattern, String input)
|
void
|
assertMatchesMultiLine(String pattern, String input)
|
void
|
assertNotKernelPointer(Callable<String> getPtrFunction, ITestDevice deviceToReboot)
运行所提供的函数来收集字符串,以测试内核指针泄漏问题。 |
void
|
assertNotMatches(String pattern, String input)
|
void
|
assertNotMatchesMultiLine(String pattern, String input)
|
void
|
assertWifiConnected(ITestDevice device)
断言 Wi-Fi 连接状态已连接。 |
void
|
assumeIsSupportedNfcDevice(ITestDevice device)
|
static
MetricsReportLog
|
buildMetricsReportLog(ITestDevice device)
|
WifiHelper
|
createWifiHelper()
|
static
IAbi
|
getAbi(ITestDevice device)
|
static
IBuildInfo
|
getBuildInfo(ITestDevice device)
|
static
PocPusher
|
getPocPusher(ITestDevice device)
|
static
String
|
getTestName(ITestDevice device)
|
boolean
|
moduleIsPlayManaged(String modulePackageName)
如果模块是由播放管理,则返回 true。 |
void
|
safeReboot()
|
void
|
setUp()
等待设备联网,标记设备的最新启动时间 |
void
|
tearDown()
确保手机处于联网状态,并检查设备是否崩溃 |
void
|
updateKernelStartTime()
如果在计划内重新启动后调用,则允许测试通过。 |
受保护的方法 | |
---|---|
boolean
|
containsDriver(ITestDevice device, String driver, boolean checkReadable)
检查机器上是否有驱动程序。 |
boolean
|
containsDriver(ITestDevice device, String driver)
检查驱动程序是否存在且可读。 |
常量
TIMEOUT_DEFAULT 返回
protected static final int TIMEOUT_DEFAULT
常量值: 60 个 (0x0000003c)
TIMEOUT_NONDETERMINISTIC
public static final int TIMEOUT_NONDETERMINISTIC
常量值: 315 (0x0000013b)
字段
测试名称
public TestName testName
公共构造函数
SecurityTestCase
public SecurityTestCase ()
公共方法
assertMatches(断言匹配)
public void assertMatches (String pattern, String input)
参数 | |
---|---|
pattern |
String |
input |
String |
抛出 | |
---|---|
Exception |
assertMatchesMultiLine
public void assertMatchesMultiLine (String pattern, String input)
参数 | |
---|---|
pattern |
String |
input |
String |
抛出 | |
---|---|
Exception |
assertNotKernelPointer
public void assertNotKernelPointer (Callable<String> getPtrFunction, ITestDevice deviceToReboot)
运行所提供的函数来收集字符串,以测试内核指针泄漏问题。通过 getPtrFunction 函数实现必须返回一个以指针开头的字符串。 即“01234567”。可以使用除 [0-9a-fA-F] 以外的尾随字符。发生以下情况时 则抛出 JUnit 断言。由于内核指针 经过哈希处理,则经过哈希处理的指针可能会与常规内核空间重叠。通过 重新运行测试,使假正例不再具有统计显著性。内核指针不会执行时 更改,而无需重新启动,请提供一台设备以重新启动。
参数 | |
---|---|
getPtrFunction |
Callable :此函数可返回以指针开头的字符串 |
deviceToReboot |
ITestDevice :内核指针未更改时要重新启动的设备
|
抛出 | |
---|---|
Exception |
assertNotMatches
public void assertNotMatches (String pattern, String input)
参数 | |
---|---|
pattern |
String |
input |
String |
抛出 | |
---|---|
Exception |
assertNotMatchesMultiLine
public void assertNotMatchesMultiLine (String pattern, String input)
参数 | |
---|---|
pattern |
String |
input |
String |
抛出 | |
---|---|
Exception |
assertWifiConnected
public void assertWifiConnected (ITestDevice device)
断言 Wi-Fi 连接状态已连接。因为 STS 可以立即重新启动设备 在运行测试之前,Wi-Fi 可能在测试运行前未连接。我们轮询 Wi-Fi 直到 我们超时或连接了 Wi-Fi。
参数 | |
---|---|
device |
ITestDevice :运行应用的设备
|
抛出 | |
---|---|
Exception |
假设是受支持的 NfcDevice
public void assumeIsSupportedNfcDevice (ITestDevice device)
参数 | |
---|---|
device |
ITestDevice |
抛出 | |
---|---|
Exception |
buildMetricsReportLog
public static MetricsReportLog buildMetricsReportLog (ITestDevice device)
参数 | |
---|---|
device |
ITestDevice |
返回 | |
---|---|
MetricsReportLog |
createWifiHelper
public WifiHelper createWifiHelper ()
返回 | |
---|---|
WifiHelper |
抛出 | |
---|---|
DeviceNotAvailableException |
getAbi
public static IAbi getAbi (ITestDevice device)
参数 | |
---|---|
device |
ITestDevice |
返回 | |
---|---|
IAbi |
getBuildInfo
public static IBuildInfo getBuildInfo (ITestDevice device)
参数 | |
---|---|
device |
ITestDevice |
返回 | |
---|---|
IBuildInfo |
getPocPusher
public static PocPusher getPocPusher (ITestDevice device)
参数 | |
---|---|
device |
ITestDevice |
返回 | |
---|---|
PocPusher |
getTestName
public static String getTestName (ITestDevice device)
参数 | |
---|---|
device |
ITestDevice |
返回 | |
---|---|
String |
模块是 PlayManaged
public boolean moduleIsPlayManaged (String modulePackageName)
如果模块是由播放管理,则返回 true。
基于 Mainline 模块跳过测试的示例:
@Test public void testPocCVE_1234_5678() throws Exception { // This will skip the test if MODULE_METADATA mainline module is play managed. assumeFalse(moduleIsPlayManaged("com.google.android.captiveportallogin")); // Do testing... }
参数 | |
---|---|
modulePackageName |
String |
返回 | |
---|---|
boolean |
抛出 | |
---|---|
Exception |
安全重新启动
public void safeReboot ()
抛出 | |
---|---|
DeviceNotAvailableException |
设置
public void setUp ()
等待设备联网,标记设备的最新启动时间
抛出 | |
---|---|
Exception |
拆解
public void tearDown ()
确保手机处于联网状态,并检查设备是否崩溃
抛出 | |
---|---|
Exception |
updateKernelStartTime
public void updateKernelStartTime ()
如果在计划内重新启动后调用,则允许测试通过。
抛出 | |
---|---|
DeviceNotAvailableException |
受保护的方法
包含驱动程序
protected boolean containsDriver (ITestDevice device, String driver, boolean checkReadable)
检查机器上是否有驱动程序。
参数 | |
---|---|
device |
ITestDevice |
driver |
String |
checkReadable |
boolean |
返回 | |
---|---|
boolean |
抛出 | |
---|---|
Exception |
包含驱动程序
protected boolean containsDriver (ITestDevice device, String driver)
检查驱动程序是否存在且可读。
参数 | |
---|---|
device |
ITestDevice |
driver |
String |
返回 | |
---|---|
boolean |
抛出 | |
---|---|
Exception |