l10n 屏幕截图测试

屏幕截图测试

我们使用 screengrab,它与 fastlane 配合使用来自动化捕获屏幕截图的过程。所有 l10n 屏幕截图都是通过 ui 测试生成的。这些特定的测试作为屏幕截图包的一部分运行 (app/src/androidTest/mozilla/fenix/ui/screenshots)

从 Android Studio 本地运行测试

导航到 app/src/androidTest/mozilla/fenix/ui/screenshots,进入该目录后,通过点击 > 按钮运行完整的测试套件或特定测试。

通过手动运行它们,您可以检查测试是否有效,但不会保存屏幕截图。

从命令行本地运行测试

  1. 安装 gem:sudo gem install screengrab

  2. 从命令行运行:fastlane screengrab --test_instrumentation_runner "androidx.test.runner.AndroidJUnitRunner"

软件包配置、apk 路径以及语言环境设置在 Screengrab 文件 中。如果那里有任何更改,则必须相应地修改该文件。在启动该命令之前,必须运行一个模拟器。

构建和测试完成后,屏幕截图将保存在根目录中:fastlane/metadata/android 如果发生故障并且未保存屏幕截图,则可能需要先手动创建这些文件夹。

在 CI 上运行测试

目前,每周安排一个 cron 作业在周一运行这些测试。它设置在 此处。并且可以在 treeherder 中查看测试结果,请参阅上一个链接以了解示例。

待定

到目前为止,测试已运行并且已检查结果以确保这些测试有效,但在 CI 上未拍摄/保存屏幕截图。如果 l10n 团队或任何对此感兴趣的团队提出请求,将来可以做到这一点。请参阅在 iOS 上是如何完成的,它集成了 Taskcluster 作为作业/任务协调器,Bitrise 运行测试以拍摄屏幕截图,以及 Taskcluster 再次存储和公开共享屏幕截图。

对于有关这些测试的任何疑问或评论,请联系 移动测试工程 团队,Slack:#mobile-testeng