首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Espresso测试中更改辅助功能字体大小和显示大小

在Espresso测试中更改辅助功能字体大小和显示大小
EN

Stack Overflow用户
提问于 2017-06-19 21:12:24
回答 2查看 783关注 0票数 1

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

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

EN

回答 2

Stack Overflow用户

发布于 2017-06-20 17:46:18

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

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

代码语言:javascript
复制
adb shell am start com.android.settings/.Settings

Then use these key event to go to which ever setting and change setting

票数 0
EN

Stack Overflow用户

发布于 2021-07-21 00:57:19

您可以将这些adb shell命令作为测试的一部分运行,也可以在调用测试之前运行的脚本中运行,具体取决于您的需要。

代码语言:javascript
复制
adb shell settings put system font_scale 1.0
adb shell wm density <n>

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

  • Small - 0.85
  • Default - 1.0
  • Large -1.15
  • Large-1.30

<代码>F210

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

  • Small (scale: 0.85)
  • Default (scale: 1.00)
  • Large (scale: 1.1)
  • Large (scale: 1.2)
  • Large(在某些设备上未命中,scale: 1.3)

例如,让我们看看Pixel 3。

代码语言:javascript
复制
> adb shell wm density
Physical density: 440
Override density: 572

这台设备的屏幕密度调到了最大。让我们将其设置为“小”密度。

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

因此,将设备密度设置为'Small‘的adb命令是

代码语言:javascript
复制
> adb shell wm density 374
> adb shell wm density
Physical density: 440
Override density: 374

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

代码语言:javascript
复制
adb shell wm density reset

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

这是我在上找到的信息摘要

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44631555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档