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)

執行收集 String 的提供的函式,以測試核心指標外洩情形。

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)

如果模組是由 Play 管理,則傳回 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 ()

公用方法

斷言

public void assertMatches (String pattern, 
                String input)

參數
pattern String

input String

擲回
Exception

assertMatchMultiLine

public void assertMatchesMultiLine (String pattern, 
                String input)

參數
pattern String

input String

擲回
Exception

assertNotKernelPointer

public void assertNotKernelPointer (Callable<String> getPtrFunction, 
                ITestDevice deviceToReboot)

執行收集 String 的提供的函式,以測試核心指標外洩情形。 getPtrFunction 函式實作必須傳回以指標開頭的字串。 例如「01234567」。結尾字元則可使用,[0-9a-fA-F] 除外。在: 指標似乎容易遭受攻擊,並擲回 JUnit 斷言。由於核心指標可能很像 雜湊,雜湊指標可能會與一般核心空間重疊。 重新執行測試,使偽陽性結果不具統計顯著性。核心指標無法生效的情況 變更,無須重新啟動,請提供裝置以便重新啟動。

參數
getPtrFunction Callable:這個函式會傳回以指標開頭的字串

deviceToReboot ITestDevice:在核心指標不會變更時重新啟動的裝置

擲回
Exception

assertNotMatch

public void assertNotMatches (String pattern, 
                String input)

參數
pattern String

input String

擲回
Exception

assertNotMatchMultiLine

public void assertNotMatchesMultiLine (String pattern, 
                String input)

參數
pattern String

input String

擲回
Exception

assertWifi 已連線

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

建立 WifiHelper

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

ModuleIsPlayManaged

public boolean moduleIsPlayManaged (String modulePackageName)

如果模組是由 Play 管理,則傳回 true。

根據主線模組略過測試的範例:

  @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

TearDown

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