Compose 中的 UI 测试使用语义与 UI 层级结构进行交互。顾名思义,语义赋予 UI 片段意义。在此上下文中,“UI 片段”(或元素)可以指任何内容,从单个可组合项到整个屏幕。语义树与 UI 层级结构一起生成,并描述该层级结构。
您可以在Compose 中的语义中了解有关语义的更多一般信息。
图 1. 典型的 UI 层级结构及其语义树。
语义框架主要用于辅助功能,因此测试利用语义公开的有关 UI 层级结构的信息。开发者决定公开什么以及公开多少。
图 2. 包含图标和文本的典型按钮。
例如,对于像这样的由图标和文本元素组成的按钮,默认语义树仅包含文本标签“喜欢”。这是因为某些可组合项(例如Text
)已将某些属性公开到语义树。您可以使用Modifier
将属性添加到语义树。
MyButton(
modifier = Modifier.semantics { contentDescription = "Add to favorites" }
)
其他资源
- 在 Android 上测试应用:主要的 Android 测试登录页面提供了有关测试基础知识和技术的更广泛的视图。
- 测试基础知识:了解有关测试 Android 应用的核心概念的更多信息。
- 本地测试:您可以在本地(在您自己的工作站上)运行一些测试。
- 工具化测试:最好也运行工具化测试。也就是说,直接在设备上运行的测试。
- 持续集成:持续集成允许您将测试集成到部署管道中。
- 测试不同的屏幕尺寸:由于用户可以使用多种设备,因此您应该测试不同的屏幕尺寸。
- Espresso:虽然适用于基于 View 的 UI,但 Espresso 知识对于 Compose 测试的某些方面仍然很有帮助。