GTS 測試( GtsSafetyCenterTestCases
)
GTS 測試對設定檔施加約束。請參閱更新設定檔。如果設備不支援安全中心,則該設備可以免除這些測試。
約束條件如下:
- 應至少有七個安全中心來源群組,這些群組應保持未修改或預設狀態。某些特定欄位(例如來源標題、初始顯示狀態和摘要)有時由可覆蓋字串支援並且可以修改。
對於
GoogleAppSecuritySources
:- 請勿刪除或修改
GooglePlayProtect
安全性來源。 - 您可以刪除或變更
GoogleAppProtectionService
安全性來源。如果存在:- 它必須支援日誌記錄。
- 如果包名不變,則在Android 13中必須有
initialDisplayState="hidden"
;在 Android 14 中,它必須是issue-only-safety-source
,且deduplicationGroup
必須保持不變。 - 如果套件名稱更改,則它必須持有角色
"android.app.role.SYSTEM_APP_PROTECTION_SERVICE"
;另外,在 Android 14 中,它不能有deduplicationGroup
。
- 請勿刪除或修改
對於
AndroidLockScreenSources
:- 群組的
summary
實例是必需的,您可以修改它,包括使用字串覆蓋。 - 必須至少有一個安全源。
- 第一個安全來源旨在成為控制鎖定畫面設定的來源,而且它不應該能夠推送比
SEVERITY_LEVEL_RECOMMENDATION
更嚴重的問題或條目(maxSeverityLevel="300"
或最多黃色條目或警告卡)。在 Android 14 中,deduplicationGroup
必須保持不變。 - 其他安全源旨在與生物識別解鎖機制相關的來源,並且它們應該具有
maxSeverityLevel="0"
。
- 群組的
在 Android 13 中,請勿修改
GoogleAccountSources
、GoogleDeviceFinderSources
或AndroidAdvancedSources
。在 Android 14 中,您可以刪除這些群組中引入的一些新來源(例如備份和還原),您也可以將新的靜態來源附加到AndroidAdvancedSources
群組。對於
GoogleUpdateSources
:- 您可以更改
GoogleSecurityUpdates
的intentAction
,並可以使用字串覆蓋來修改它。 - 不要修改
GooglePlaySystemUpdate
。
- 您可以更改
對於
AndroidPrivacySources
:- 您可以新增、刪除或修改某些來源,只要它們是
issue-only
。 - 他們必須保留
packageName="com.google.android.permissioncontroller"
。 - 不要修改
AndroidPrivacySources
來源的其餘部分。
- 您可以新增、刪除或修改某些來源,只要它們是
對於其餘安全來源群組(如果有):
- 群組不應具有
summary
或statelessIconType
,這會導致SAFETY_SOURCES_GROUP_TYPE_RIGID
群組(Android 14 中為SAFETY_SOURCES_GROUP_TYPE_STATELESS
)。 - 每個組中的每個來源應該是靜態的或具有
maxSeverityLevel="0"
,例如,允許發送灰色或綠色條目,但沒有問題。
- 群組不應具有
CTS 測試( CtsSafetyCenterTestCases
)
從 Android 13 開始,CTS 測試適用於所有支援PermissionController
的 OEM。
設定檔測試 ( XmlConfigTest
)
這些測試確保:
- 解析的 XML 設定檔與安全性中心解析和公開的組態匹配,並且解析成功。
- 如果 XML 檔案中存在意圖操作
android.settings.PRIVACY_ADVANCED_SETTINGS
,則必須解析此操作。 - 如果 XML 檔案中存在意圖操作
android.settings.PRIVACY_CONTROLS
,則必須解析此操作。
UI 測試( SafetyCenterActivityTest
)
這些測試確保:
-
android.intent.action.SAFETY_CENTER
Intent 操作會在啟用安全中心時解析並開啟「安全性和隱私設定」畫面,在停用安全中心時解析並開啟「設定」畫面。
API 測試( SafetyCenterManagerTest
)
SafetyCenterManagerTest API 測試的目標是確保安全中心 API 按預期運作。
這些測試可確保以下內容:
-
SafetyCenterManager.isSafetyCenterEnabled
由關聯的DeviceConfig
標誌控制。 - 停用後,安全中心 API 不執行任何操作。
- 只有在擁有相關權限時,安全中心 API 才可用。
- 只能根據底層配置向安全中心提供資料。
- 當資料提供給安全中心時,它會相應地浮出水面。
- 這些 API 符合使用安全中心來源 API中所述的規範,例如刷新或重新掃描行為、設定或清除資料以及報告錯誤。
- 暴露給UI的內部API工作正常,例如安全中心適當地合併了資料並且可以刷新資料。
安全中心不支援的測試 ( SafetyCenterUnsupportedTest
)
此測試可確保當裝置不支援安全中心且在框架 XML 設定檔中停用支援時,安全中心會被停用。
如果設備支援安全中心,則不會執行此測試。如果設備不支援安全中心,則僅執行此測試和資料類測試。
此測試可確保以下內容:
-
android.intent.action.SAFETY_CENTER
Intent 操作會開啟「設定」畫面。 -
SafetyCenterManager.isSafetyCenterEnabled
傳回false
。 - 大多數安全中心 API 在呼叫時不會回應。
資料類別測試( SafetySourceDataTest
、 SafetySourceIssueTest
等)
資料類別測試(例如SafetySourceDataTest
和SafetySourceIssueTest
可確保 Safety Center 公開的資料類別按預期運作,例如SafetySourceData
、 SafetySourceIssue
和其他相關內部類別。
MTS 測試( SafetyCenterFunctionalTestCases
等)
這些測試在主線更新中運行,並適用於所有支援PermissionController
的 OEM。這些測試強制執行的要求可能會隨著主線更新而改變。
API 測試( SafetyCenterManagerTest
)
這些測試類似於 CTS 測試SafetyCenterManagerTest
,但它們測試的需求可能會隨著主線更新而變化,例如:
- 檢查暴露給UI的內部API回傳的資料的實際內容
UI 測試( SafetyCenterActivityTest
、 SafetyCenterStatusCardTest
、 SafetyCenterQsActivityTest
等)
這些測試確保:
- 使用特定參數重定向到安全中心可以按預期工作,例如,重定向到特定問題。請參閱重定向到安全中心。
- UI 顯示正確的底層安全狀態。
- 使用者介面允許導航到單獨的螢幕。
- 當
SafetySourceIssue
指定時,UI 允許直接從安全中心螢幕解決安全問題。 - UI 將多個警告卡折疊在一個專案中,並允許將其擴展回多個警告卡。
- 當開啟相關安全中心來源的安全中心頁面時,資料會重新整理。
- 重新掃描按鈕僅在特定情況下出現。
- 點擊重新掃描按鈕可取得新資料。
安全中心也進行了類似的測試。請參閱為您的應用程式建立自訂快速設定圖塊
其他邊緣情況,例如錯誤狀態和待處理狀態。
多重使用者測試( SafetyCenterMultiUsersTest
)
這些測試的目標是確保 API 在為多個使用者或設定檔提供資料時正常運作。請參閱為多個使用者和設定檔提供資料。此設定是透過使用內部庫來實現的,該庫有助於使用 Bedstead 在裝置上設定單獨的使用者和設定檔。
此測試可確保以下內容:
- 屬於使用者的資料與其關聯的託管設定檔(如果存在)合併在一起。
- 只有標示
profile="all_profiles"
的來源才能提供使用者的託管設定檔中的資料。 - 為與使用者關聯的每個託管設定檔建立一個新條目。
- 屬於一個使用者的資料不會洩漏給另一個不相關的使用者。