GTS 测试 (GtsSafetyCenterTestCases
)
GTS 测试会对配置文件施加限制。请参阅更新配置文件。 如果设备不支持安全中心,则不必完成这些测试。
限制条件如下:
- 至少应该有 7 个安全中心信息来源群组,它们应保持未修改或默认状态。某些特定字段(如信息来源标题、初始显示状态和摘要)有时由可叠加的字符串提供支持,并且可修改。
对于
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
intent 操作,则此操作必须进行解析。 - 如果 XML 文件中存在
android.settings.PRIVACY_CONTROLS
intent 操作,则此操作必须进行解析。
界面测试 (SafetyCenterActivityTest
)
这些测试可确保:
- 在启用安全中心后,
android.intent.action.SAFETY_CENTER
intent 操作会解析并打开安全和隐私设置屏幕,在停用安全中心时将解析并打开“设置”屏幕。
API 测试 (SafetyCenterManagerTest
)
SafetyCenterManagerTest API 测试的目标是确保安全中心 API 按预期运行。
这些测试可确保:
SafetyCenterManager.isSafetyCenterEnabled
由关联的DeviceConfig
标志控制。- 停用后,Security Center API 将为空操作。
- Safety Center API 仅在拥有相关权限时可用。
- 您只能根据底层配置将数据提供给安全中心。
- 向安全中心提供数据时,数据会相应地显示。
- 这些 API 符合使用安全中心信息来源 API 中所述的规范,例如刷新或重新扫描行为、设置或清除数据以及报告错误。
- 提供给界面的内部 API 运行正常,例如,安全中心会相应地适当地合并数据,并且可能会刷新数据。
安全中心不受支持的测试 (SafetyCenterUnsupportedTest
)
此测试可确保当设备不支持安全中心时,系统会在框架 XML 配置文件中停用该功能时停用安全中心。
如果设备支持安全中心,此测试不会运行。如果设备不支持安全中心,则仅运行此测试和数据类测试。
此测试可确保:
android.intent.action.SAFETY_CENTER
intent 操作会打开“设置”屏幕。SafetyCenterManager.isSafetyCenterEnabled
会返回false
.- 大多数安全中心 API 在被调用时没有响应。
数据类测试(SafetySourceDataTest
、SafetySourceIssueTest
等)
数据类测试(例如 SafetySourceDataTest
和 SafetySourceIssueTest
)可确保安全中心公开的数据类(例如 SafetySourceData
、SafetySourceIssue
和其他相关的内部类)按预期运行。
MTS 测试(SafetyCenterFunctionalTestCases
及其他)
这些测试会在 Mainline 更新中运行,并适用于所有支持 PermissionController
的 OEM。这些测试强制执行的要求可能会在 Mainline 更新中发生变化。
API 测试 (SafetyCenterManagerTest
)
这些测试类似于 CTS 测试 SafetyCenterManagerTest
,但测试的要求可能因 Mainline 更新而异,例如:
- 检查提供给界面的内部 API 返回的数据的实际内容
界面测试(SafetyCenterActivityTest
、SafetyCenterStatusCardTest
、SafetyCenterQsActivityTest
等)
这些测试可确保:
- 您可以使用特定参数按预期重定向到安全中心,例如重定向到特定问题。请参阅重定向到安全中心。
- 界面显示正确的底层安全状态。
- 该界面允许转到单独的屏幕。
- 当
SafetySourceIssue
指定时,界面允许直接在安全中心屏幕上解决安全问题。 - 界面可以收起一个项目中的多个警告卡片,并允许将其重新展开为多个警告卡片。
- 在安全中心相关页面上打开相关安全中心数据后,系统会刷新数据。
- 重新扫描按钮仅在特定情况下显示。
- 点按重新扫描按钮可提取新数据。
我们会对安全中心进行类似的测试。请参阅为您的应用创建自定义“快捷设置”功能块
其他极端情况,例如错误状态和待处理状态。
多用户测试 (SafetyCenterMultiUsersTest
)
这些测试的目标是,当为多个用户或个人资料提供数据时,确保 API 正常运行。请参阅为多个用户和个人资料提供数据。此设置是通过使用一个内部库来完成的,该库有助于使用 Bedstead 在设备上设置单独的用户和个人资料。
此测试可确保:
- 属于用户的数据将与关联的受管理资料合并(如果存在)。
- 只有标有
profile="all_profiles"
的信息来源才能在用户的受管理资料中提供数据。 - 系统会为用户关联的每个受管理资料创建一个新条目。
- 属于某个用户的数据不会泄露给另一个不相关的用户。