通过界面测试,您可以确保应用满足其功能要求并达到较高的质量标准,从而更有可能成功地被用户采用。
界面测试的一种方法是直接让测试人员对目标应用执行一系列用户操作,并验证其行为是否正常。不过,这种人工方法会非常耗时、繁琐且容易出错。一种更高效的方法是编写界面测试,以便以自动化方式执行用户操作。自动化方法可让您以可重复的方式快速可靠地运行测试。
注意:强烈建议您使用 Android Studio 构建测试应用,因为使用它可以方便地进行项目设置、库收录和打包。本课程假定您使用的是 Android Studio。
如需使用 Android Studio 自动执行界面测试,请在单独的 Android 测试文件夹 (src/androidTest/java) 中实现测试代码。Android Plugin for Gradle 会根据测试代码构建一个测试应用,然后在目标应用所在的设备上加载该测试应用。在测试代码中,您可以使用界面测试框架来模拟目标应用上的用户交互,以便执行涵盖特定使用场景的测试任务。
为了测试 Android 应用,您通常会创建下面这些类型的自动化界面测试:
涵盖单个应用的界面测试:这种类型的测试可验证目标应用在用户执行特定操作或在其 Activity 中输入特定内容时的行为是否符合预期。它可让您检查目标应用是否返回正确的界面输出来响应应用 Activity 中的用户交互。诸如 Espresso 之类的界面测试框架可让您以编程方式模拟用户操作,并测试复杂的应用内用户交互。
涵盖多个应用的界面测试:这种类型的测试可验证不同用户应用之间交互或用户应用与系统应用之间交互的正确行为。例如,您可能想要测试相机应用是否能够与第三方社交媒体应用或默认的 Android 相册应用正确分享图片。支持跨应用交互的界面测试框架(如 UI Automator)可让您针对此类场景创建测试。
本课程的几节课将教您如何使用 AndroidX Test 中的工具和 API 来构建这些类型的自动化测试。在开始使用这些 API 构建测试之前,请先添加 AndroidX Test,如针对 AndroidX Test 设置项目中所述。
课程
了解如何使用 Espresso 测试框架来测试单个应用中的界面。了解如何使用 UI Automator 测试框架来测试多个应用中的界面。
其他资源
如需详细了解如何在 Android 测试中使用 Espresso,请参阅以下资源。
示例
Espresso 代码示例包含各种各样的 Espresso 示例。
BasicSample:基本的 UI Automator 示例。
Android Testing Codelab