UI 测试¶
要对 Firefox Focus 运行自动化测试,您需要准备一些东西才能开始。
安装 Git 并克隆 Focus 代码库到本地。您可以
git clone https://github.com/mozilla-mobile/focus-android.git
在本演练中,您还需要 Android Studio,可以在 Android 网站 上找到。请按照说明操作。在大多数情况下,Android Studio 会自行设置存储库,您只需打开目录即可。您可能还需要安装 JDK。
然后,您需要一个 Android 设备(最好是 Nexus 4 或更新版本)或在 Android Studio 中设置模拟器以创建模拟器
打开 **Android Studio**,然后导航到 **工具** 下拉菜单
导航到列表中的 **Android** 弹出选择,然后选择“**AVD Manager**”。将打开一个窗口,您可以在其中管理虚拟设备
选择“**创建虚拟设备**”
为设备选择手机选项卡,然后选择 Nexus 设备或 Google Pixel(推荐)
您需要选择 API 级别 22 ~ 26 的镜像,通过选择名称旁边的下载来下载并安装它们。
选择要安装的镜像,然后单击下一步。
您可以设置设备的名称和配置,但建议设置以下更改的配置
摄像头:无(前后均为)
图形:自动
多核 CPU:未选中
**设备测试**:如果您希望在设备上运行测试,则需要在设置菜单中启用开发者选项(通常通过点击 **关于手机** -> **版本号** 7 次来实现),并启用“**USB 调试**”。然后通过 USB 数据线将手机连接到电脑。
我们的 CI 目前使用以下硬件/软件配置
Firefox Focus
Nexus 6,API 23 模拟器
Pixel 2,API 26 模拟器
Firefox Klar
Nexus 9,虚拟,API 级别 26
您现在可以运行自动化测试了!
单击 Android Studio 的左下角,并启用“**构建变体**”。构建变体的值应设置为以下之一
设备上:‘**focusArmDebug**’ 或 ‘**klarArmDebug**’
模拟器:‘**focusX86Debug**’ 或 ‘**klarX86Debug**’
单击 Android Studio 左上角路径视图下方的下拉菜单,然后选择“**测试**”
导航子目录到要运行的测试的文件夹位置。例如,UI 测试位于 **focus-android/app/src/androidTest/java/org.mozilla.focus.activity**
要运行文件夹中的所有测试,请右键单击文件夹并选择运行。对于单个测试,您将执行相同的操作,但右键单击特定的测试。
选择您的模拟器或设备(通过 ADB 连接)。
然后,Android Studio 将编译并在模拟器或设备上安装 Focus 并开始运行测试。
如果您只需要运行 Focus,请从 **配置** 下拉菜单中选择“**app**”,然后按运行按钮。
您可能需要在第一次运行时按照提示授予应用程序访问 Android 不同部分(例如存储访问)的权限,否则测试将失败,或者手动为 Focus 打开存储权限。
需要注意的是,并非所有测试都可以在模拟器环境中通过。这些测试旨在在我们的 CI 设置上运行,虽然大多数测试不会出现问题,但 **BadURLTest** 将在未安装 Google Play 商店的普通模拟器环境中失败,因为它会尝试解码 market:// URL。此外,**AdBlockingTest** 被抑制,因为虽然它在本地通过,但由于网络设置,它在我们的 CI 上失败了。我保留了测试脚本以供将来参考。
(由 1Jamie 起草)