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 测试的基础测试类。

请改为使用 RootSecurityTestCaseNonRootSecurityTestCase

摘要

常量

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)

字段

POcPusher

public PocPusher pocPusher

测试名称

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