如何在运行Espresso测试套件之前更改设备或模拟器的辅助功能设置?
我的目标是使用Spoon以各种不同的辅助功能文本缩放级别捕获应用程序截图,以快速验证布局是否正确;而不是手动验证每个缩放级别。
答案 0 :(得分:0)
对于测试级别,您可以使用自定义TestRules在使用UiAutomator框架运行测试之前更改字体设置。
对于套件级别,您可以在运行测试套件之前使用adb命令更改设备上的设置(在gradle命令之前)。
adb shell am start com.android.settings/.Settings
Then use these key event to go to which ever setting and change setting
答案 1 :(得分:0)
您可以将这些 adb shell 命令作为测试的一部分运行,也可以在调用测试之前运行的脚本中运行,具体取决于您的需要。
adb shell settings put system font_scale 1.0
adb shell wm density <n>
设置字体大小很容易:字体比例的可能值:
设置设备密度比较复杂。您可以对密度使用标准比例因子,或选择自定义的内容:
例如,让我们看看 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
找到的信息的摘要