在浓缩咖啡测试中更改辅助功能字体大小和显示大小



在运行 Espresso 测试套件之前,如何更改设备或模拟器的辅助功能设置?

我的目标是使用 Spoon 在各种不同的辅助功能文本缩放级别捕获应用程序屏幕截图,以快速验证布局是否正确;而不是手动验证每个缩放级别。

您可以根据需要将这些adb shell 命令作为测试的一部分或在调用测试之前运行的脚本中运行。

adb shell settings put system font_scale 1.0
adb shell wm density <n>

设置字体大小很容易: 字体比例的可能值:

  • 小 - 0.85
  • 默认值 - 1.0
  • 大 - 1.15
  • 最大 - 1.30

设置设备密度更为复杂。您可以使用标准比例因子来表示密度,也可以选择自定义比例因子:

  • 小(比例:0.85)
  • 默认值(比例:1.00)
  • 大型(比例:1.1)
  • 较大(比例:1.2)
  • 最大(在某些设备上未丢失,比例:1.3)

例如,让我们看一下Pixel 3。

> adb shell wm density
Physical density: 440
Override density: 572

此设备的屏幕密度已调高到最大。让我们将其设置为"小"密度。

(默认密度)* (比例因子)= n 440 x .85 = 374

因此,将设备密度设置为"小"的adb命令是

> adb shell wm density 374
> adb shell wm density
Physical density: 440
Override density: 374

如果我们想在不进行任何计算的情况下将其重置为默认密度,一个方便的快捷方式是

adb shell wm density reset

由于不同设备的默认/本机密度数字不同,因此必须首先检索默认密度,然后将其乘以比例因子以计算目标密度。

这是我在 https://alexzh.com/adb-commands-accessibility/#display-size 找到的信息摘要

对于测试级别,您可以使用自定义测试规则在使用 UiAutomator 框架运行测试之前更改字体设置。

对于套件级别,您可以在运行测试套件之前(在 gradle 命令之前)使用 adb 命令更改设备上的设置。

adb shell am start com.android.settings/.Settings

然后使用这些键事件转到哪个设置和更改设置

最新更新